mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-07-23 23:32:14 +00:00
[IPV6]: Check interface bindings on IPv6 raw socket reception
Take account of whether a socket is bound to a particular device when selecting an IPv6 raw socket to receive a packet. Also perform this check when receiving IPv6 packets with router alert options. Signed-off-by: Andrew McDonald <andrew@mcdonald.org.uk> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
7af4cc3fa1
commit
0bd1b59b15
4 changed files with 15 additions and 6 deletions
|
@ -277,7 +277,9 @@ static int ip6_call_ra_chain(struct sk_buff *skb, int sel)
|
|||
read_lock(&ip6_ra_lock);
|
||||
for (ra = ip6_ra_chain; ra; ra = ra->next) {
|
||||
struct sock *sk = ra->sk;
|
||||
if (sk && ra->sel == sel) {
|
||||
if (sk && ra->sel == sel &&
|
||||
(!sk->sk_bound_dev_if ||
|
||||
sk->sk_bound_dev_if == skb->dev->ifindex)) {
|
||||
if (last) {
|
||||
struct sk_buff *skb2 = skb_clone(skb, GFP_ATOMIC);
|
||||
if (skb2)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue