diff --git a/fs/dcache.c b/fs/dcache.c index 2a7eaac0c3ef9601b0eb36c9ea0dee927f387d66..926df08eeb0c930716d1b63b623dfdfe1567dfda 100644 --- a/fs/dcache.c +++ b/fs/dcache.c @@ -643,6 +643,10 @@ static inline bool limit_negative_dentry(struct dentry *dentry) { struct dentry *parent; + /* The dentry is now unrecoverably dead, shuoldn't limit */ + if (unlikely(dentry->d_lockref.count < 0)) + return false; + parent = dentry->d_parent; if (unlikely(!parent)) return false;