Re: [syzbot] kernel BUG in create_default_group...
From: Edward Adam Davis
Date: Thu Oct 22 2026 - 05:51:11 EST
From: Edward Aadm Davis <eadavis@xxxxxxxx>
#syz test: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 58161ead29e5
diff --git a/fs/configfs/dir.c b/fs/configfs/dir.c
index eda80c2a2d38..d8e74abe3485 100644
--- a/fs/configfs/dir.c
+++ b/fs/configfs/dir.c
@@ -65,8 +65,24 @@ static void configfs_d_iput(struct dentry * dentry,
iput(inode);
}
+static int configfs_d_revalidate(struct inode *dir, const struct qstr *name,
+ struct dentry *dentry, unsigned int flags)
+{
+ struct inode *inode = d_inode(dentry);
+ struct configfs_dirent * parent_sd = dentry->d_fsdata;
+
+ if (!inode)
+ return -ECHILD;
+
+ if (!configfs_dirent_is_ready(parent_sd))
+ return -ECHILD;
+
+ return 1;
+}
+
const struct dentry_operations configfs_dentry_ops = {
.d_iput = configfs_d_iput,
+ .d_revalidate = configfs_d_revalidate,
};
#ifdef CONFIG_LOCKDEP