|
@@ -1908,8 +1908,11 @@ int ip_mc_msfilter(struct sock *sk, struct ip_msfilter *msf, int ifindex)
|
|
|
sock_kfree_s(sk, newpsl, IP_SFLSIZE(newpsl->sl_max));
|
|
|
goto done;
|
|
|
}
|
|
|
- } else
|
|
|
+ } else {
|
|
|
newpsl = NULL;
|
|
|
+ (void) ip_mc_add_src(in_dev, &msf->imsf_multiaddr,
|
|
|
+ msf->imsf_fmode, 0, NULL, 0);
|
|
|
+ }
|
|
|
psl = pmc->sflist;
|
|
|
if (psl) {
|
|
|
(void) ip_mc_del_src(in_dev, &msf->imsf_multiaddr, pmc->sfmode,
|