* Re: [PATCH] taskstats: fix? sk_buff leak
2006-10-29 13:24 [PATCH] taskstats: fix? sk_buff leak Oleg Nesterov
@ 2006-10-29 12:33 ` Thomas Graf
2006-10-29 13:45 ` Oleg Nesterov
0 siblings, 1 reply; 3+ messages in thread
From: Thomas Graf @ 2006-10-29 12:33 UTC (permalink / raw)
To: Oleg Nesterov
Cc: Andrew Morton, Shailabh Nagar, Balbir Singh, Jay Lan,
linux-kernel
* Oleg Nesterov <oleg@tv-sign.ru> 2006-10-29 16:24
> Compile tested only, and I know nothing about net/. Needs an ack from
> maintainer.
>
> 'return genlmsg_cancel()' in taskstats_user_cmd/taskstats_exit_send looks
> wrong to me. Unless we pass 'rep_skb' to the netlink layer we own sk_buff,
> yes? This means we should always do kfree_skb() on failure.
That's right.
> Signed-off-by: Oleg Nesterov <oleg@tv-sign.ru>
>
> --- STATS/kernel/taskstats.c~1_skb 2006-10-29 15:12:51.000000000 +0300
> +++ STATS/kernel/taskstats.c 2006-10-29 16:16:05.000000000 +0300
> @@ -411,7 +411,7 @@ static int taskstats_user_cmd(struct sk_
> return send_reply(rep_skb, info->snd_pid);
>
> nla_put_failure:
> - return genlmsg_cancel(rep_skb, reply);
> + genlmsg_cancel(rep_skb, reply);
rc = genlmsg_cancel(...) or return value is undefined.
> err:
> nlmsg_free(rep_skb);
> return rc;
> @@ -507,7 +507,6 @@ send:
>
> nla_put_failure:
> genlmsg_cancel(rep_skb, reply);
> - goto ret;
> err_skb:
> nlmsg_free(rep_skb);
> ret:
>
^ permalink raw reply [flat|nested] 3+ messages in thread
* [PATCH] taskstats: fix? sk_buff leak
@ 2006-10-29 13:24 Oleg Nesterov
2006-10-29 12:33 ` Thomas Graf
0 siblings, 1 reply; 3+ messages in thread
From: Oleg Nesterov @ 2006-10-29 13:24 UTC (permalink / raw)
To: Andrew Morton
Cc: Thomas Graf, Shailabh Nagar, Balbir Singh, Jay Lan, linux-kernel
Compile tested only, and I know nothing about net/. Needs an ack from
maintainer.
'return genlmsg_cancel()' in taskstats_user_cmd/taskstats_exit_send looks
wrong to me. Unless we pass 'rep_skb' to the netlink layer we own sk_buff,
yes? This means we should always do kfree_skb() on failure.
Signed-off-by: Oleg Nesterov <oleg@tv-sign.ru>
--- STATS/kernel/taskstats.c~1_skb 2006-10-29 15:12:51.000000000 +0300
+++ STATS/kernel/taskstats.c 2006-10-29 16:16:05.000000000 +0300
@@ -411,7 +411,7 @@ static int taskstats_user_cmd(struct sk_
return send_reply(rep_skb, info->snd_pid);
nla_put_failure:
- return genlmsg_cancel(rep_skb, reply);
+ genlmsg_cancel(rep_skb, reply);
err:
nlmsg_free(rep_skb);
return rc;
@@ -507,7 +507,6 @@ send:
nla_put_failure:
genlmsg_cancel(rep_skb, reply);
- goto ret;
err_skb:
nlmsg_free(rep_skb);
ret:
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] taskstats: fix? sk_buff leak
2006-10-29 12:33 ` Thomas Graf
@ 2006-10-29 13:45 ` Oleg Nesterov
0 siblings, 0 replies; 3+ messages in thread
From: Oleg Nesterov @ 2006-10-29 13:45 UTC (permalink / raw)
To: Thomas Graf
Cc: Andrew Morton, Shailabh Nagar, Balbir Singh, Jay Lan,
linux-kernel
On 10/29, Thomas Graf wrote:
>
> * Oleg Nesterov <oleg@tv-sign.ru> 2006-10-29 16:24
> > nla_put_failure:
> > - return genlmsg_cancel(rep_skb, reply);
> > + genlmsg_cancel(rep_skb, reply);
>
> rc = genlmsg_cancel(...) or return value is undefined.
Thanks!
[PATCH] taskstats: fix sk_buff leak
Compile tested.
'return genlmsg_cancel()' in taskstats_user_cmd/taskstats_exit_send looks
wrong to me. Unless we pass 'rep_skb' to the netlink layer we own sk_buff.
This means we should always do kfree_skb() on failure.
Signed-off-by: Oleg Nesterov <oleg@tv-sign.ru>
--- STATS/kernel/taskstats.c~1_skb 2006-10-29 15:12:51.000000000 +0300
+++ STATS/kernel/taskstats.c 2006-10-29 16:39:10.000000000 +0300
@@ -411,7 +411,7 @@ static int taskstats_user_cmd(struct sk_
return send_reply(rep_skb, info->snd_pid);
nla_put_failure:
- return genlmsg_cancel(rep_skb, reply);
+ rc = genlmsg_cancel(rep_skb, reply);
err:
nlmsg_free(rep_skb);
return rc;
@@ -507,7 +507,6 @@ send:
nla_put_failure:
genlmsg_cancel(rep_skb, reply);
- goto ret;
err_skb:
nlmsg_free(rep_skb);
ret:
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2006-10-29 12:46 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-10-29 13:24 [PATCH] taskstats: fix? sk_buff leak Oleg Nesterov
2006-10-29 12:33 ` Thomas Graf
2006-10-29 13:45 ` Oleg Nesterov
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox