diff options
author | Eric Dumazet <eric.dumazet@gmail.com> | 2011-03-18 00:27:27 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2011-03-18 15:13:12 -0700 |
commit | d870bfb9d366c5d466c0f5419a4ec95a3f71ea8a (patch) | |
tree | 1058c527072d026721499e646765da0e92260444 /net/8021q | |
parent | 3a7da39d165e0c363c294feec119db1427032afd (diff) | |
download | op-kernel-dev-d870bfb9d366c5d466c0f5419a4ec95a3f71ea8a.zip op-kernel-dev-d870bfb9d366c5d466c0f5419a4ec95a3f71ea8a.tar.gz |
vlan: should take into account needed_headroom
Commit c95b819ad7 (gre: Use needed_headroom)
made gre use needed_headroom instead of hard_header_len
This uncover a bug in vlan code.
We should make sure vlan devices take into account their
real_dev->needed_headroom or we risk a crash in ipgre_header(), because
we dont have enough room to push IP header in skb.
Reported-by: Diddi Oscarsson <diddi@diddi.se>
Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Cc: Patrick McHardy <kaber@trash.net>
Cc: Herbert Xu <herbert@gondor.apana.org.au>
Acked-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/8021q')
-rw-r--r-- | net/8021q/vlan_dev.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/net/8021q/vlan_dev.c b/net/8021q/vlan_dev.c index ae610f0..e34ea9e 100644 --- a/net/8021q/vlan_dev.c +++ b/net/8021q/vlan_dev.c @@ -720,6 +720,7 @@ static int vlan_dev_init(struct net_device *dev) dev->fcoe_ddp_xid = real_dev->fcoe_ddp_xid; #endif + dev->needed_headroom = real_dev->needed_headroom; if (real_dev->features & NETIF_F_HW_VLAN_TX) { dev->header_ops = real_dev->header_ops; dev->hard_header_len = real_dev->hard_header_len; |