diff options
-rw-r--r-- | net/ipv6/ndisc.c | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/net/ipv6/ndisc.c b/net/ipv6/ndisc.c index 04d31c2fbef1..5cb98df966c2 100644 --- a/net/ipv6/ndisc.c +++ b/net/ipv6/ndisc.c | |||
@@ -370,16 +370,12 @@ static struct sk_buff *ndisc_alloc_skb(struct net_device *dev, | |||
370 | { | 370 | { |
371 | int hlen = LL_RESERVED_SPACE(dev); | 371 | int hlen = LL_RESERVED_SPACE(dev); |
372 | int tlen = dev->needed_tailroom; | 372 | int tlen = dev->needed_tailroom; |
373 | struct sock *sk = dev_net(dev)->ipv6.ndisc_sk; | ||
374 | struct sk_buff *skb; | 373 | struct sk_buff *skb; |
375 | int err; | ||
376 | 374 | ||
377 | skb = sock_alloc_send_skb(sk, | 375 | skb = alloc_skb(hlen + sizeof(struct ipv6hdr) + len + tlen, GFP_ATOMIC); |
378 | hlen + sizeof(struct ipv6hdr) + len + tlen, | ||
379 | 1, &err); | ||
380 | if (!skb) { | 376 | if (!skb) { |
381 | ND_PRINTK(0, err, "ndisc: %s failed to allocate an skb, err=%d\n", | 377 | ND_PRINTK(0, err, "ndisc: %s failed to allocate an skb\n", |
382 | __func__, err); | 378 | __func__); |
383 | return NULL; | 379 | return NULL; |
384 | } | 380 | } |
385 | 381 | ||