diff --git a/net/ipv6/ipv6_sockglue.c b/net/ipv6/ipv6_sockglue.c index 532425d..309284e 100644 --- a/net/ipv6/ipv6_sockglue.c +++ b/net/ipv6/ipv6_sockglue.c @@ -539,6 +539,13 @@ done: case IPV6_MULTICAST_IF: if (sk->sk_type == SOCK_STREAM) goto e_inval; + + if (val == 0) { + np->mcast_oif = 0; + retv = 0; + break; + } + if (sk->sk_bound_dev_if && sk->sk_bound_dev_if != val) goto e_inval;