On Sun, Nov 23, 2014 at 11:40 AM, Eric Dumazet <eric.dumazet@xxxxxxxxx> wrote: > From: Eric Dumazet <edumazet@xxxxxxxxxx> > > 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@xxxxxxxxxxxxx> > Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> > Fixes: 33423974bfc1 ("dm: Use rcu_dereference() for accessing rcu pointer") > Cc: Pranith Kumar <bobby.prani@xxxxxxxxx> 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@xxxxxxxxxx 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 -- dm-devel mailing list dm-devel@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/dm-devel