From: "Eilon Greenstein" <redacted>
Date: Tue, 7 Feb 2012 08:55:01 +0200
On Mon, 2012-02-06 at 23:53 +0100, Eric Dumazet wrote:
quoted
Le lundi 06 février 2012 à 22:28 +0100, Jesper Juhl a écrit :
quoted
We allocate memory for 'new_data' with kmalloc(). If we get the memory
we then try to build_skb() and if that should fail (which it can) we
do not enter 'if (likely(skb)) {' and actually use 'new_data' but
instead fall through to the 'drop:' label and end up returning from
the function without ever assigning 'new'data' to anything or freeing
it. That leaks the memory allocated to 'new_data'.
This patch fixes the memory leak by doing a kfree(new_data) in the
case where build_skb() fails (or where allocation of 'new_data' itself
fails, but in taht case it's just a harmless kfree(NULL)).
Signed-off-by: Jesper Juhl <redacted>
...
quoted
Good catch, my bad.
Thanks
Acked-by: Eric Dumazet <redacted>
Indeed - nice catch. Thanks Jesper.
Acked-by: Eilon Greenstein <redacted>
Applied, thanks everyone.