[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20240613105741.2380-1-hdanton@sina.com>
Date: Thu, 13 Jun 2024 18:57:41 +0800
From: Hillf Danton <hdanton@...a.com>
To: syzbot <syzbot+d79afb004be235636ee8@...kaller.appspotmail.com>
Cc: linux-kernel@...r.kernel.org,
syzkaller-bugs@...glegroups.com
Subject: Re: [syzbot] [nilfs?] [mm?] KASAN: slab-use-after-free Read in lru_add_fn
On Tue, 11 Jun 2024 11:10:20 -0700
> syzbot has found a reproducer for the following issue on:
>
> HEAD commit: 83a7eefedc9b Linux 6.10-rc3
> git tree: upstream
> C reproducer: https://syzkaller.appspot.com/x/repro.c?x=17c645e2980000
#syz test https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
--- x/fs/read_write.c
+++ y/fs/read_write.c
@@ -570,6 +570,7 @@ EXPORT_SYMBOL(kernel_write);
ssize_t vfs_write(struct file *file, const char __user *buf, size_t count, loff_t *pos)
{
ssize_t ret;
+ struct super_block *sb;
if (!(file->f_mode & FMODE_WRITE))
return -EBADF;
@@ -583,6 +584,9 @@ ssize_t vfs_write(struct file *file, con
return ret;
if (count > MAX_RW_COUNT)
count = MAX_RW_COUNT;
+ sb = file_inode(file)->i_sb;
+ if (!down_read_trylock(&sb->s_umount))
+ return -EINVAL;
file_start_write(file);
if (file->f_op->write)
ret = file->f_op->write(file, buf, count, pos);
@@ -596,6 +600,7 @@ ssize_t vfs_write(struct file *file, con
}
inc_syscw(current);
file_end_write(file);
+ up_read(&sb->s_umount);
return ret;
}
--
Powered by blists - more mailing lists