[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20081209.221611.26561529.davem@davemloft.net>
Date: Tue, 09 Dec 2008 22:16:11 -0800 (PST)
From: David Miller <davem@...emloft.net>
To: yanghy@...fujitsu.com
Cc: remi.denis-courmont@...ia.com, netdev@...r.kernel.org
Subject: Re: [RFC][PATCH 3/3]ipv6:fix the outgoing interface selection
order in udpv6_sendmsg()
From: Yang Hongyang <yanghy@...fujitsu.com>
Date: Wed, 10 Dec 2008 08:42:20 +0800
> If outgoing interface is set with SO_BINDTODEVICE and also sticky pktinfo
> the outgoing interface is exactly what SO_BINDTODEVICE set,because in my
> first patch,when set sticy pktinfo,outgoing interface set by SO_BINDTODEVICE
> is checked:
>
> + if(sk->sk_bound_dev_if && pkt.ipi6_ifindex != sk->sk_bound_dev_if)
> + goto e_inval;
>
You may be checking this, but these two values can become out of sync
if the application next makes a SO_BINDTODEVICE setsockopt() call to
change the index setting.
Nothing makes sure the sticky ipv6 socket information is updated
if that happens. And the most obvious ways to handle that are
very ugly, doing some kind of call into ipv6 from the generic
socket SO_BINDTODEVICE setsockopt() handler.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists