net: Reserve skb headroom and set skb->dev even if using __alloc_skb
authorAlexander Duyck <alexander.h.duyck@redhat.com>
Wed, 13 May 2015 20:34:13 +0000 (13:34 -0700)
committerDavid S. Miller <davem@davemloft.net>
Wed, 13 May 2015 22:07:24 +0000 (18:07 -0400)
commita080e7bd0a8e56519d451eaea4ab05212d90e010
tree057ccffd00cc215ffe17ea3bd5ee13743de4539a
parent59af132bb68860de035388dcb531ac4ef46ccfa5
net: Reserve skb headroom and set skb->dev even if using __alloc_skb

When I had inlined __alloc_rx_skb into __netdev_alloc_skb and
__napi_alloc_skb I had overlooked the fact that there was a return in the
__alloc_rx_skb.  As a result we weren't reserving headroom or setting the
skb->dev in certain cases.  This change corrects that by adding a couple of
jump labels to jump to depending on __alloc_skb either succeeding or failing.

Fixes: 9451980a6646 ("net: Use cached copy of pfmemalloc to avoid accessing page")
Reported-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Alexander Duyck <alexander.h.duyck@redhat.com>
Tested-by: Kevin Hilman <khilman@linaro.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/core/skbuff.c