Re: [syzbot] [overlayfs?] possible deadlock in seq_read_iter (2)

From: Hillf Danton
Date: Sat Jan 27 2024 - 06:46:42 EST


On Tue, 19 Dec 2023 11:43:27 -0800
> syzbot has found a reproducer for the following issue on:
>
> HEAD commit: 2cf4f94d8e86 Merge tag 'scsi-fixes' of git://git.kernel.or..
> git tree: upstream
> C reproducer: https://syzkaller.appspot.com/x/repro.c?x=154aa8d6e80000

#syz test https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 2cf4f94d8e86

--- x/fs/namei.c
+++ y/fs/namei.c
@@ -3533,6 +3533,8 @@ static const char *open_last_lookups(str

if (open_flag & (O_CREAT | O_TRUNC | O_WRONLY | O_RDWR)) {
got_write = !mnt_want_write(nd->path.mnt);
+ if (!got_write && (open_flag & O_CREAT))
+ return ERR_PTR(-EISDIR);
/*
* do _not_ fail yet - we might not need that or fail with
* a different error; let lookup_open() decide; we'll be
--