From 96906409bc19c9336961c5da1f56be0eac13df37 Mon Sep 17 00:00:00 2001 From: Herbert Xu Date: Fri, 18 Nov 2011 02:20:05 +0000 Subject: [PATCH] --- yaml --- r: 277901 b: refs/heads/master c: 4ce4091256d61f8e9c7296f6643c8bd5bb2a00e5 h: refs/heads/master i: 277899: 5cb6eaf0af531681321501a50c5ddfdbfe78e9f3 v: v3 --- [refs] | 2 +- trunk/net/packet/af_packet.c | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index 14dbc5991b26..6fc401b0de51 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 56c978f1da1f630ef18aa668a9748c6c23ab819b +refs/heads/master: 4ce4091256d61f8e9c7296f6643c8bd5bb2a00e5 diff --git a/trunk/net/packet/af_packet.c b/trunk/net/packet/af_packet.c index 71c1a7521d32..0da505c9ac23 100644 --- a/trunk/net/packet/af_packet.c +++ b/trunk/net/packet/af_packet.c @@ -1499,10 +1499,11 @@ static int packet_sendmsg_spkt(struct kiocb *iocb, struct socket *sock, if (!skb) { size_t reserved = LL_RESERVED_SPACE(dev); + int tlen = dev->needed_tailroom; unsigned int hhlen = dev->header_ops ? dev->hard_header_len : 0; rcu_read_unlock(); - skb = sock_wmalloc(sk, len + reserved, 0, GFP_KERNEL); + skb = sock_wmalloc(sk, len + reserved + tlen, 0, GFP_KERNEL); if (skb == NULL) return -ENOBUFS; /* FIXME: Save some space for broken drivers that write a hard