diff options
author | Patrick McHardy <kaber@trash.net> | 2007-04-09 20:45:04 +0200 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2007-04-26 07:28:36 +0200 |
commit | 56eb88828b78f6f3b11a2996350092a40745301f (patch) | |
tree | 27304b61f22f921d351301ef173009900e802ed9 | |
parent | [IPV6] FIB6RULE: Find source address during looking up route. (diff) | |
download | linux-56eb88828b78f6f3b11a2996350092a40745301f.tar.xz linux-56eb88828b78f6f3b11a2996350092a40745301f.zip |
[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: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | net/core/skbuff.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/net/core/skbuff.c b/net/core/skbuff.c index f927b6e8027e..4965df29768b 100644 --- a/net/core/skbuff.c +++ b/net/core/skbuff.c @@ -667,14 +667,15 @@ int pskb_expand_head(struct sk_buff *skb, int nhead, int ntail, skb->data += off; #ifdef NET_SKBUFF_DATA_USES_OFFSET skb->end = size; + off = nhead; #else skb->end = skb->head + size; +#endif /* {transport,network,mac}_header and tail are relative to skb->head */ skb->tail += off; skb->transport_header += off; skb->network_header += off; skb->mac_header += off; -#endif skb->cloned = 0; skb->nohdr = 0; atomic_set(&skb_shinfo(skb)->dataref, 1); |