===== net/ipv6/ip6_output.c 1.91 vs edited ===== --- 1.91/net/ipv6/ip6_output.c 2005-03-19 05:44:52 +11:00 +++ edited/net/ipv6/ip6_output.c 2005-04-14 22:30:22 +10:00 @@ -1149,7 +1149,7 @@ err = NF_HOOK(PF_INET6, NF_IP6_LOCAL_OUT, skb, NULL, skb->dst->dev, dst_output); if (err) { if (err > 0) - err = inet->recverr ? net_xmit_errno(err) : 0; + err = np->recverr ? net_xmit_errno(err) : 0; if (err) goto error; } --- linux-2.6/net/ipv6/raw.c.orig 2005-04-14 22:27:07.000000000 +1000 +++ linux-2.6/net/ipv6/raw.c 2005-04-14 22:29:58.000000000 +1000 @@ -533,7 +533,7 @@ struct flowi *fl, struct rt6_info *rt, unsigned int flags) { - struct inet_sock *inet = inet_sk(sk); + struct ipv6_pinfo *np = inet6_sk(sk); struct ipv6hdr *iph; struct sk_buff *skb; unsigned int hh_len; @@ -570,7 +570,7 @@ err = NF_HOOK(PF_INET6, NF_IP6_LOCAL_OUT, skb, NULL, rt->u.dst.dev, dst_output); if (err > 0) - err = inet->recverr ? net_xmit_errno(err) : 0; + err = np->recverr ? net_xmit_errno(err) : 0; if (err) goto error; out: @@ -807,8 +807,6 @@ ip6_dst_store(sk, dst, ipv6_addr_equal(&fl.fl6_dst, &np->daddr) ? &np->daddr : NULL); - if (err > 0) - err = np->recverr ? net_xmit_errno(err) : 0; release_sock(sk); out: