On Thu, Nov 09, 2023 at 06:20:47AM +0000, Al Viro wrote: > Currently we call it with refcount equal to 1 when called from > dentry_kill(); all other callers have it equal to 0. > > Make it always be called with zero refcount; on this step we > just decrement it before the calls in dentry_kill(). That is > safe, since all places that care about the value of refcount > either do that under ->d_lock or hold a reference to dentry Also worth noting that dentry_kill() is marked with __releases(dentry->d_lock). I'm usually pretty liberal with lockdep_assert asserts as well because it gives nice splats on testing kernels and makes for much faster review because the assumptions are visible directly in the helper. > in question. Either is sufficient to prevent observing a > dentry immediately prior to __dentry_kill() getting called > from dentry_kill(). > > Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> > --- Looks good to me, Reviewed-by: Christian Brauner <brauner@xxxxxxxxxx>