Messages in this thread Patch in this message | | | Date | Wed, 05 Jan 2011 16:22:58 -0800 | From | Greg KH <> | Subject | [079/152] pppoe.c: Fix kernel panic caused by __pppoe_xmit |
| |
2.6.36-stable review patch. If anyone has any objections, please let us know.
------------------
From: Andrej Ota <andrej@ota.si>
[ Upstream commit 2a27a03d3a891e87ca33d27a858b4db734a4cbab ]
__pppoe_xmit function return value was invalid resulting in additional call to kfree_skb on already freed skb. This resulted in memory corruption and consequent kernel panic after PPPoE peer terminated the link.
This fixes commit 55c95e738da85373965cb03b4f975d0fd559865b.
Reported-by: Gorik Van Steenberge <gvs@zemos.net> Reported-by: Daniel Kenzelmann <kernel.bugzilla@kenzelmann.dyndns.info> Reported-by: Denys Fedoryshchenko <nuclearcat@nuclearcat.com> Reported-by: Pawel Staszewski <pstaszewski@artcom.pl> Diagnosed-by: Andrej Ota <andrej@ota.si> Diagnosed-by: Eric Dumazet <eric.dumazet@gmail.com> Tested-by: Denys Fedoryshchenko <nuclearcat@nuclearcat.com> Tested-by: Pawel Staszewski <pstaszewski@artcom.pl> Signed-off-by: Jarek Poplawski <jarkao2@gmail.com> Signed-off-by: Andrej Ota <andrej@ota.si> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> --- drivers/net/pppoe.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
--- a/drivers/net/pppoe.c +++ b/drivers/net/pppoe.c @@ -948,7 +948,7 @@ static int __pppoe_xmit(struct sock *sk, abort: kfree_skb(skb); - return 0; + return 1; } /************************************************************************
| |