Hillf Danton <[email protected]> wrote:

> +                     /*
> +                      * care to detect writers because
> +                      *
> +                      * read_seqbegin_or_lock(&net->cells_lock, &seq);
> +                      *
> +                      * is unable to block 
> +                      *
> +                      * write_seqlock(&net->cells_lock);
> +                      *
> +                      */

That shouldn't be true.  The loop may make one or two passes, the first
without the lock, the second with.  The RCU read lock is supposed to be held
in both cases too (but see below).

One of the call sites, however, afs_probe_cell_name(), doesn't call
afs_lookup_cell_rcu() with the RCU read lock held - which is an error, but not
obviously the one that's biting here.

David

Reply via email to