ipv6: udp: fix the wrong headroom check
authorShan Wei <shanwei@cn.fujitsu.com>
Tue, 19 Apr 2011 22:52:49 +0000 (22:52 +0000)
committerDavid S. Miller <davem@davemloft.net>
Thu, 21 Apr 2011 17:39:10 +0000 (10:39 -0700)
commita9cf73ea7ff78f52662c8658d93c226effbbedde
tree07a723cb628f223e4f756f0cb02eeba8b6ee9c62
parent10022a6c66e199d8f61d9044543f38785713cbbd
ipv6: udp: fix the wrong headroom check

At this point, skb->data points to skb_transport_header.
So, headroom check is wrong.

For some case:bridge(UFO is on) + eth device(UFO is off),
there is no enough headroom for IPv6 frag head.
But headroom check is always false.

This will bring about data be moved to there prior to skb->head,
when adding IPv6 frag header to skb.

Signed-off-by: Shan Wei <shanwei@cn.fujitsu.com>
Acked-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv6/udp.c