[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20240313124204.2356-1-hdanton@sina.com>
Date: Wed, 13 Mar 2024 20:42:04 +0800
From: Hillf Danton <hdanton@...a.com>
To: syzbot <syzbot+9b5ec5ccf7234cc6cb86@...kaller.appspotmail.com>
Cc: linux-kernel@...r.kernel.org,
syzkaller-bugs@...glegroups.com
Subject: Re: [syzbot] [fs?] WARNING in stashed_dentry_prune
On Wed, 13 Mar 2024 03:23:25 -0700
> syzbot found the following issue on:
>
> HEAD commit: 0f1a876682f0 Merge tag 'vfs-6.9.uuid' of git://git.kernel...
> git tree: upstream
> C reproducer: https://syzkaller.appspot.com/x/repro.c?x=116b38d1180000
#syz test https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
--- x/fs/libfs.c
+++ y/fs/libfs.c
@@ -2012,6 +2012,8 @@ static struct dentry *prepare_anon_dentr
dentry = d_alloc_anon(sb);
if (!dentry)
return ERR_PTR(-ENOMEM);
+ /* Store address of location where dentry's supposed to be stashed. */
+ dentry->d_fsdata = stashed;
inode = new_inode_pseudo(sb);
if (!inode) {
@@ -2029,9 +2031,6 @@ static struct dentry *prepare_anon_dentr
WARN_ON_ONCE(!S_ISREG(inode->i_mode));
WARN_ON_ONCE(!IS_IMMUTABLE(inode));
- /* Store address of location where dentry's supposed to be stashed. */
- dentry->d_fsdata = stashed;
-
/* @data is now owned by the fs */
d_instantiate(dentry, inode);
return dentry;
--
Powered by blists - more mailing lists