Commit 56eb8882 authored by Patrick McHardy's avatar Patrick McHardy Committed by David S. Miller

[SK_BUFF]: Fix missing offset adjustment in pskb_expand_head

Since we're increasing the headroom, the header offsets need to be
increased by the same amount as well.
Signed-off-by: default avatarPatrick McHardy <kaber@trash.net>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 29f6af77
...@@ -667,14 +667,15 @@ int pskb_expand_head(struct sk_buff *skb, int nhead, int ntail, ...@@ -667,14 +667,15 @@ int pskb_expand_head(struct sk_buff *skb, int nhead, int ntail,
skb->data += off; skb->data += off;
#ifdef NET_SKBUFF_DATA_USES_OFFSET #ifdef NET_SKBUFF_DATA_USES_OFFSET
skb->end = size; skb->end = size;
off = nhead;
#else #else
skb->end = skb->head + size; skb->end = skb->head + size;
#endif
/* {transport,network,mac}_header and tail are relative to skb->head */ /* {transport,network,mac}_header and tail are relative to skb->head */
skb->tail += off; skb->tail += off;
skb->transport_header += off; skb->transport_header += off;
skb->network_header += off; skb->network_header += off;
skb->mac_header += off; skb->mac_header += off;
#endif
skb->cloned = 0; skb->cloned = 0;
skb->nohdr = 0; skb->nohdr = 0;
atomic_set(&skb_shinfo(skb)->dataref, 1); atomic_set(&skb_shinfo(skb)->dataref, 1);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment