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