Re: [syzbot] [jffs2?] possible deadlock in jffs2_do_clear_inode (2)

From: Edward Adam Davis

Date: Fri Sep 11 2026 - 07:53:33 EST


From: Edward Aadm Davis <eadavis@xxxxxxxx>

#syz test: upstream 50d05c7c76c9

diff --git a/fs/jffs2/readinode.c b/fs/jffs2/readinode.c
index 1caabff9dc91..6d0c766fe801 100644
--- a/fs/jffs2/readinode.c
+++ b/fs/jffs2/readinode.c
@@ -1416,6 +1416,9 @@ void jffs2_do_clear_inode(struct jffs2_sb_info *c, struct jffs2_inode_info *f)
int deleted;

jffs2_xattr_delete_inode(c, f->inocache);
+ if (!f->inocache && !f->metadata)
+ return;
+
mutex_lock(&f->sem);
deleted = f->inocache && !f->inocache->pino_nlink;