On Tue, Jan 05, 2021 at 04:50:05PM +0000, Al Viro wrote: > struct dentry *d_find_alias_rcu(struct inode *inode) > { > struct hlist_head *l = &inode->i_dentry; > struct dentry *de = NULL; > > spin_lock(&inode->i_lock); > // ->i_dentry and ->i_rcu are colocated, but the latter won't be > // used without having I_FREEING set, which means no aliases left > if (inode->i_state & I_FREEING) { > spin_unlock(&inode->i_lock); > return NULL; > } > // we can safely access inode->i_dentry > if (hlist_empty(p)) { if (hlist_empty(l)) { obviously...