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