From: Florin Malita Date: Mon, 5 Jun 2006 22:34:33 +0000 (-0700) Subject: [PPPOE]: Missing result check in __pppoe_xmit(). X-Git-Url: http://git.osdn.net/view?p=linux-kernel-docs%2Flinux-2.4.36.git;a=commitdiff_plain;h=7d8ee8247bc2c042fd3fff6e3b311730b7c42d5a [PPPOE]: Missing result check in __pppoe_xmit(). [backport of 2.6 commit 9bc18091a5e44a368827f539289b99788eb27d4e] skb_clone() may fail, we should check the result. Coverity CID: 1215. Signed-off-by: Florin Malita Signed-off-by: Andrew Morton Signed-off-by: David S. Miller Signed-off-by: Willy Tarreau --- diff --git a/drivers/net/pppoe.c b/drivers/net/pppoe.c index 85bbc782..5af4d65b 100644 --- a/drivers/net/pppoe.c +++ b/drivers/net/pppoe.c @@ -907,6 +907,9 @@ int __pppoe_xmit(struct sock *sk, struct sk_buff *skb) * give dev_queue_xmit something it can free. */ skb2 = skb_clone(skb, GFP_ATOMIC); + + if (skb2 == NULL) + goto abort; } ph = (struct pppoe_hdr *) skb_push(skb2, sizeof(struct pppoe_hdr));