On Fri, Jul 22, 2005 at 08:12:58PM -0400, YOSHIFUJI Hideaki / ?$B5HF#1QL@ wrote: > In article <[EMAIL PROTECTED]> (at Thu, 21 Jul 2005 21:44:43 +0100), Andrew > McDonald <[EMAIL PROTECTED]> says: > > > I guess the fix would be a matter of changing: > > > > if (sk && ra->sel == sel) { > > > > to: > > > > if (sk && ra->sel == sel && > > (!sk->sk_bound_dev_if || > > sk->sk_bound_dev_if == skb->dev->ifindex)) { > > I agree. Would you make a patch for this, please?
Having looked a bit further, it appears that the sk_bound_dev_if check isn't being performed in the general IPv6 raw socket reception case either. (See __raw_v6_lookup() vs __raw_v4_lookup().) TCP/UDP sockets look like they take care of interface binding correctly. I'll try to produce a combined patch fixing both the general IPv6 raw socket and router alert special case for you to review. thanks, Andrew -- Andrew McDonald E-mail: [EMAIL PROTECTED] http://www.mcdonald.org.uk/andrew/ - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html