netlabel: netlink_unicast calls kfree_skb on error path by itself
So, no need to kfree_skb here on the error path. In this case we can simply return. Signed-off-by: Denis V. Lunev <den@openvz.org> Acked-by: Paul Moore <paul.moore@hp.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Родитель
2e655571c6
Коммит
fe785bee05
|
@ -584,12 +584,7 @@ list_start:
|
|||
rcu_read_unlock();
|
||||
|
||||
genlmsg_end(ans_skb, data);
|
||||
|
||||
ret_val = genlmsg_reply(ans_skb, info);
|
||||
if (ret_val != 0)
|
||||
goto list_failure;
|
||||
|
||||
return 0;
|
||||
return genlmsg_reply(ans_skb, info);
|
||||
|
||||
list_retry:
|
||||
/* XXX - this limit is a guesstimate */
|
||||
|
|
|
@ -386,11 +386,7 @@ static int netlbl_mgmt_listdef(struct sk_buff *skb, struct genl_info *info)
|
|||
rcu_read_unlock();
|
||||
|
||||
genlmsg_end(ans_skb, data);
|
||||
|
||||
ret_val = genlmsg_reply(ans_skb, info);
|
||||
if (ret_val != 0)
|
||||
goto listdef_failure;
|
||||
return 0;
|
||||
return genlmsg_reply(ans_skb, info);
|
||||
|
||||
listdef_failure_lock:
|
||||
rcu_read_unlock();
|
||||
|
@ -501,11 +497,7 @@ static int netlbl_mgmt_version(struct sk_buff *skb, struct genl_info *info)
|
|||
goto version_failure;
|
||||
|
||||
genlmsg_end(ans_skb, data);
|
||||
|
||||
ret_val = genlmsg_reply(ans_skb, info);
|
||||
if (ret_val != 0)
|
||||
goto version_failure;
|
||||
return 0;
|
||||
return genlmsg_reply(ans_skb, info);
|
||||
|
||||
version_failure:
|
||||
kfree_skb(ans_skb);
|
||||
|
|
|
@ -1107,11 +1107,7 @@ static int netlbl_unlabel_list(struct sk_buff *skb, struct genl_info *info)
|
|||
goto list_failure;
|
||||
|
||||
genlmsg_end(ans_skb, data);
|
||||
|
||||
ret_val = genlmsg_reply(ans_skb, info);
|
||||
if (ret_val != 0)
|
||||
goto list_failure;
|
||||
return 0;
|
||||
return genlmsg_reply(ans_skb, info);
|
||||
|
||||
list_failure:
|
||||
kfree_skb(ans_skb);
|
||||
|
|
Загрузка…
Ссылка в новой задаче