From: David Stevens <[EMAIL PROTECTED]>
Date: Thu, 3 Nov 2005 15:58:16 -0700
> The following patch fixes some locking issues with multicast source
> filters:
> 1) Acquire a read lock for the socket mc list in ip6_mc_msfilter().
> 2) Add a read/write lock for the source list for individual socket
> multicast entries to protect inet6_check() reads on it during
> updates.
I think this patch needs some adjustments for the current tree.
For example, where the write lock taking is added in the first
hunk change to ip6_mc_msfilter(), specifically this hunk:
@@ -547,6 +556,8 @@ int ip6_mc_msfilter(struct sock *sk, str
}
} else
newpsl = NULL;
+
+ write_lock_bh(&pmc->sflock);
psl = pmc->sflist;
if (psl) {
(void) ip6_mc_del_src(idev, group, pmc->sfmode,
The else branch above it now looks like:
} else {
newpsl = NULL;
(void) ip6_mc_add_src(idev, group, gsf->gf_fmode, 0, NULL, 0);
}
so I think this part of the locking needs to be readjusted.
At a minimum I need a new patch because this one rejects in
that spot :-)
Thanks.
-
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