summaryrefslogtreecommitdiff
path: root/net
diff options
context:
space:
mode:
authorJohn Fastabend <john.fastabend@gmail.com>2016-01-11 08:38:44 +0300
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2016-01-31 22:25:51 +0300
commitfe8383327a1b33501be00f810a7b3397c2d20616 (patch)
tree65eb27fe76702abc137fab0f6204b09af15521c4 /net
parent96cd854dd6d8df95284e4fa2d04a36a1889fbae1 (diff)
downloadlinux-fe8383327a1b33501be00f810a7b3397c2d20616.tar.xz
net: pktgen: fix null ptr deref in skb allocation
[ Upstream commit 3de03596dfeee48bc803c1d1a6daf60a459929f3 ] Fix possible null pointer dereference that may occur when calling skb_reserve() on a null skb. Fixes: 879c7220e82 ("net: pktgen: Observe needed_headroom of the device") Signed-off-by: John Fastabend <john.r.fastabend@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'net')
-rw-r--r--net/core/pktgen.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/net/core/pktgen.c b/net/core/pktgen.c
index de8d5cc5eb24..4da4d51a2ccf 100644
--- a/net/core/pktgen.c
+++ b/net/core/pktgen.c
@@ -2787,7 +2787,9 @@ static struct sk_buff *pktgen_alloc_skb(struct net_device *dev,
} else {
skb = __netdev_alloc_skb(dev, size, GFP_NOWAIT);
}
- skb_reserve(skb, LL_RESERVED_SPACE(dev));
+
+ if (likely(skb))
+ skb_reserve(skb, LL_RESERVED_SPACE(dev));
return skb;
}