diff options
Diffstat (limited to 'net/openvswitch')
-rw-r--r-- | net/openvswitch/meter.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/net/openvswitch/meter.c b/net/openvswitch/meter.c index e594b4d6b58a..0cf3dda5319f 100644 --- a/net/openvswitch/meter.c +++ b/net/openvswitch/meter.c @@ -450,7 +450,7 @@ static int ovs_meter_cmd_set(struct sk_buff *skb, struct genl_info *info) err = attach_meter(meter_tbl, meter); if (err) - goto exit_unlock; + goto exit_free_old_meter; ovs_unlock(); @@ -473,6 +473,8 @@ static int ovs_meter_cmd_set(struct sk_buff *skb, struct genl_info *info) genlmsg_end(reply, ovs_reply_header); return genlmsg_reply(reply, info); +exit_free_old_meter: + ovs_meter_free(old_meter); exit_unlock: ovs_unlock(); nlmsg_free(reply); |