Re: [syzbot] [exfat?] WARNING in fat12_ent_put
OGAWA Hirofumi <[email protected]>
| Newsgroups | org.kernel.vger.linux-fsdevel,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
syzbot <[email protected]> writes: > Hello, > > syzbot found the following issue on: > > HEAD commit: 28d012efb432 Add linux-next specific files for 20260812 > git tree: linux-next > console output: https://syzkaller.appspot.com/x/log.txt?x=104eec79580000 > kernel config: https://syzkaller.appspot.com/x/.config?x=5a13c7bc480b5c3f > dashboard link: https://syzkaller.appspot.com/bug?extid=e64c6472a3d96a75172a > compiler: Debian clang version 22.1.8 (++20260613092233+e80beda6e255-1~exp1~20260613092250.77), Debian LLD 22.1.8 > > Unfortunately, I don't have any reproducer for this issue yet. > > Downloadable assets: > disk image: https://storage.googleapis.com/syzbot-assets/de882be6df4b/disk-28d012ef.raw.xz > vmlinux: https://storage.googleapis.com/syzbot-assets/412cb9fb7e2d/vmlinux-28d012ef.xz > kernel image: https://storage.googleapis.com/syzbot-assets/9d7096c27f1b/bzImage-28d012ef.xz > > IMPORTANT: if you fix the issue, please add the following tag to the commit: > Reported-by: [email protected] https://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git/commit/fs/fat/misc.c?h=mm-nonmm-unstable&id=64d9183203eebe33de6188b70a8c1e91f52885db (fat: restore original value when fat_ent_write failed) This commit was missing to consider about the path of error by sync write. Since current bh write clears uptodate flag if got I/O error, so this patch doesn't work for now with wait==true. Please drop this patch at least until stop clearing the uptodate by bh sync write and buffer is reusable after the error. Thanks. > Buffer I/O error on dev loop0, logical block 1, lost sync page write > ------------[ cut here ]------------ > !buffer_uptodate(bh) > WARNING: fs/buffer.c:991 at mark_buffer_dirty+0x299/0x410 fs/buffer.c:991, CPU#1: syz.0.824/10458 > Modules linked in: > CPU: 1 UID: 0 PID: 10458 Comm: syz.0.824 Not tainted syzkaller #0 PREEMPT(full) > Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/24/2026 > RIP: 0010:mark_buffer_dirty+0x299/0x410 fs/buffer.c:991 > Code: 4c 89 f7 e8 49 11 d8 ff 49 8b 3e be 40 00 00 00 5b 41 5c 41 5e 41 5f 5d e9 34 53 fb ff e8 9f a3 69 ff eb 8c e8 98 a3 69 ff 90 <0f> 0b 90 e9 a5 fd ff ff e8 8a a3 69 ff 90 0f 0b 90 e9 cf fd ff ff > RSP: 0018:ffffc900065273f8 EFLAGS: 00010287 > RAX: ffffffff825e07c8 RBX: ffff888056e9e460 RCX: 0000000000080000 > RDX: ffffc90003f49000 RSI: 0000000000001234 RDI: 0000000000001235 > RBP: dffffc0000000001 R08: ffff888056e9e467 R09: 1ffff1100add3c8c > R10: dffffc0000000000 R11: ffffed100add3c8d R12: dffffc0000000000 > R13: 1ffff92000ca4eb6 R14: ffffc900065275b0 R15: ffff888050e4ccf8 > FS: 00007fe3dc5436c0(0000) GS:ffff888124dfc000(0000) knlGS:0000000000000000 > CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 > CR2: 0000001b2e6edff8 CR3: 000000007c12c000 CR4: 00000000003526f0 > Call Trace: > <TASK> > mmb_mark_buffer_dirty+0x2c/0x1f0 fs/buffer.c:624 > fat12_ent_put+0x1b7/0x2f0 fs/fat/fatent.c:173 > fat_ent_write+0xb8/0x190 fs/fat/fatent.c:422 > fat_chain_add+0x409/0x8e0 fs/fat/misc.c:140 > fat_add_cluster fs/fat/inode.c:113 [inline] > __fat_get_block fs/fat/inode.c:155 [inline] > fat_get_block+0x768/0xae0 fs/fat/inode.c:190 > __block_write_begin_int+0x6c2/0x1900 fs/buffer.c:2030 > block_write_begin fs/buffer.c:2144 [inline] > cont_write_begin+0x71b/0xac0 fs/buffer.c:2506 > fat_write_begin+0x7a/0x150 fs/fat/inode.c:230 > cont_expand_zero fs/buffer.c:2434 [inline] > cont_write_begin+0x2d6/0xac0 fs/buffer.c:2496 > fat_write_begin+0x7a/0x150 fs/fat/inode.c:230 > generic_cont_expand_simple+0x146/0x210 fs/buffer.c:2397 > fat_cont_expand+0x61/0x1f0 fs/fat/file.c:226 > fat_fallocate+0x22f/0x2f0 fs/fat/file.c:304 > vfs_fallocate+0x65a/0x7e0 fs/open.c:338 > ksys_fallocate fs/open.c:362 [inline] > __do_sys_fallocate fs/open.c:367 [inline] > __se_sys_fallocate fs/open.c:365 [inline] > __x64_sys_fallocate+0xbf/0x110 fs/open.c:365 > do_syscall_x64 arch/x86/entry/syscall_64.c:61 [inline] > do_syscall_64+0x166/0x520 arch/x86/entry/syscall_64.c:84 > entry_SYSCALL_64_after_hwframe+0x77/0x7f > RIP: 0033:0x7fe3db59e0d9 > Code: ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 44 00 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 e8 ff ff ff f7 d8 64 89 01 48 > RSP: 002b:00007fe3dc543028 EFLAGS: 00000246 ORIG_RAX: 000000000000011d > RAX: ffffffffffffffda RBX: 00007fe3db825fa0 RCX: 00007fe3db59e0d9 > RDX: 0000000000000009 RSI: 0000000000000000 RDI: 0000000000000004 > RBP: 00007fe3db635024 R08: 0000000000000000 R09: 0000000000000000 > R10: 0000000000010001 R11: 0000000000000246 R12: 0000000000000000 > R13: 00007fe3db826038 R14: 00007fe3db825fa0 R15: 00007fffaef17d98 > </TASK> > > > --- > This report is generated by a bot. It may contain errors. > See https://goo.gl/tpsmEJ for more information about syzbot. > syzbot engineers can be reached at [email protected]. > > syzbot will keep track of this issue. See: > https://goo.gl/tpsmEJ#status for how to communicate with syzbot. > > If the report is already addressed, let syzbot know by replying with: > #syz fix: exact-commit-title > > If you want to overwrite report's subsystems, reply with: > #syz set subsystems: new-subsystem > (See the list of subsystem names on the web dashboard) > > If the report is a duplicate of another one, reply with: > #syz dup: exact-subject-of-another-report > > If you want to undo deduplication, reply with: > #syz undup -- OGAWA Hirofumi <[email protected]>