On Tue, Dec 07, 2021 at 10:16:46AM +0000, cgel.zte@xxxxxxxxx wrote: > From: Lv Ruyi <lv.ruyi@xxxxxxxxxx> > > Move the spin_lock above the restart to prevent to lock twice > when the code goto restart. This is madness. void d_prune_aliases(struct inode *inode) spin_lock(&inode->i_lock); if (likely(!dentry->d_lockref.count)) { __dentry_kill(dentry); goto restart; ... static void __dentry_kill(struct dentry *dentry) if (dentry->d_inode) dentry_unlink_inode(dentry); ... static void dentry_unlink_inode(struct dentry * dentry) spin_unlock(&inode->i_lock); Did you even test this patch?