On Sun, Nov 23, 2014 at 11:40 AM, Eric Dumazet <[email protected]> wrote: > From: Eric Dumazet <[email protected]> > > 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 <[email protected]> > Signed-off-by: Eric Dumazet <[email protected]> > Fixes: 33423974bfc1 ("dm: Use rcu_dereference() for accessing rcu pointer") > Cc: Pranith Kumar <[email protected]> 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 [email protected] 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 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

