ipv6: udp: fix the wrong headroom check
commit039b2d693940cec4fec438a8731720141d755f79
authorShan Wei <shanwei@cn.fujitsu.com>
Tue, 19 Apr 2011 22:52:49 +0000 (19 22:52 +0000)
committerGreg Kroah-Hartman <gregkh@suse.de>
Fri, 3 Jun 2011 01:33:56 +0000 (3 10:33 +0900)
tree0eab4e2928069551af2668e5bac967201e8e0282
parent124035df30f4a57658d744d2720a92711355bd6b
ipv6: udp: fix the wrong headroom check

[ Upstream commit a9cf73ea7ff78f52662c8658d93c226effbbedde ]

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>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
net/ipv6/udp.c