Messages in this thread | | | From | Mike Snitzer <> | Date | Sun, 23 Nov 2014 11:53:59 -0500 | Subject | Re: [PATCH ] drivers/md: use proper rcu accessor |
| |
On Sun, Nov 23, 2014 at 11:40 AM, Eric Dumazet <eric.dumazet@gmail.com> wrote: > From: Eric Dumazet <edumazet@google.com> > > rcu_dereference() should be used in sections protected by rcu_read_lock. > > For writers, holding some kind of mutex or lock, > rcu_dereference_protected() is the way to go, adding explicit lockdep > bits. > > In __unbind(), although there is no mutex or lock held, we are about > to free the mapped device, so can use the constant '1' instead of a > lockdep_is_held()
That isn't true. dm_hash_remove_all() -- which calls dm_destroy -- holds _hash_lock. Why leave __unbind() brittle in the face of future DM locking changes?
> Reported-by: Kirill A. Shutemov <kirill@shutemov.name> > Signed-off-by: Eric Dumazet <edumazet@google.com> > Fixes: 33423974bfc1 ("dm: Use rcu_dereference() for accessing rcu pointer") > Cc: Pranith Kumar <bobby.prani@gmail.com>
Hi Eric,
I'll pick this up once I get clarification for why your __unbind change is safe.. but it really would've helped if you cc'd dm-devel@redhat.com or myself directly (not a single person that you cc'd actively maintains DM).
Hopefully these DM rcu "fixes" are finished after this.
Thanks, Mike
| |