Daiki Ueno writes:
> Since 2.4.4, Path MTU discovery doesn't work for me.
>
> In the function icmpv6_rcv, ICMPv6 header is extracted from skb->data,
> rather from skb->h.raw, so the value of hdr->icmp6_mtu is not intended
> and the call of the function rt6_pmtu_discovery makes no sense here.
>
> The attached patch reverts to the same behavior of 2.4.3.
It may revert to the behavior of 2.4.3 but it is a broken
change. pskb_may_pull() can change all of the header
pointers of the skb on you, so it has to reload skb->h.raw
or whatever to be correct.
It also must jump to discard if pskb_may_pull() fails, none of
the other code below that call is valid if it fails.
Later,
David S. Miller
davem@xxxxxxxxxx
|