On Sat, May 21, 2005 at 07:10:11PM +0000, Christophe Saout wrote: > > The oops occurs in line 391 in net/ipv6/icmp.c: > > > idev = in6_dev_get(skb->dev); Here is a minimal fix. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> I wonder why I've never seen it before. BTW, icmpv6_send seems to ignore its dev argument altogether. Any reason why we can't just use it instead of skb->dev? Cheers, -- Visit Openswan at http://www.openswan.org/ Email: Herbert Xu ~{PmV>HI~} <herbert@xxxxxxxxxxxxxxxxxxx> Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
--- a/net/ipv6/xfrm6_output.c +++ b/net/ipv6/xfrm6_output.c @@ -84,6 +84,7 @@ static int xfrm6_tunnel_check_size(struc mtu = IPV6_MIN_MTU; if (skb->len > mtu) { + skb->dev = dst->dev; icmpv6_send(skb, ICMPV6_PKT_TOOBIG, 0, mtu, skb->dev); ret = -EMSGSIZE; }