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

Reply via email to