On 2024/01/11 18:21, Jan Kara wrote: > On Wed 10-01-24 22:44:04, syzbot wrote: >> syzbot suspects this issue was fixed by commit: >> >> commit 6f861765464f43a71462d52026fbddfc858239a5 >> Author: Jan Kara <jack@xxxxxxx> >> Date: Wed Nov 1 17:43:10 2023 +0000 >> >> fs: Block writes to mounted block devices >> >> bisection log: https://syzkaller.appspot.com/x/bisect.txt?x=15135c0be80000 >> start commit: a901a3568fd2 Merge tag 'iomap-6.5-merge-1' of git://git.ke.. >> git tree: upstream >> kernel config: https://syzkaller.appspot.com/x/.config?x=7406f415f386e786 >> dashboard link: https://syzkaller.appspot.com/bug?extid=28aaddd5a3221d7fd709 >> syz repro: https://syzkaller.appspot.com/x/repro.syz?x=17b5bb80a80000 >> C reproducer: https://syzkaller.appspot.com/x/repro.c?x=10193ee7280000 >> >> If the result looks correct, please mark the issue as fixed by replying with: > > Makes some sense since fs cannot be corrupted by anybody while it is > mounted. I just don't see how the reproducer would be corrupting the > image... Still probably: > > #syz fix: fs: Block writes to mounted block devices > > and we'll see if syzbot can find new ways to tickle some similar problem. > > Honza Since the reproducer is doing open(O_RDWR) before switching loop devices using ioctl(LOOP_SET_FD/LOOP_CLR_FD), I think that that commit converted a run many times, multi threaded program into a run once, single threaded program. That will likely hide all race bugs. Does that commit also affect open(3) (i.e. open for ioctl only) case? If that commit does not affect open(3) case, the reproducer could continue behaving as run many times, multi threaded program that overwrites filesystem images using ioctl(LOOP_SET_FD/LOOP_CLR_FD), by replacing open(O_RDWR) with open(3) ?