Re: [f2fs-dev] [syzbot] [f2fs?] general protection fault in f2fs_check_opt_consistency
Brought to you by:
kjgkr
From: Chao Yu <ch...@ke...> - 2025-08-17 03:35:17
|
#syz test: https://git.kernel.org/pub/scm/linux/kernel/git/chao/linux.git bugfix/syzbot On 2025/8/16 11:18, syzbot wrote: > Hello, > > syzbot found the following issue on: > > HEAD commit: 0e39a731820a Merge tag 'for-6.17-rc1-tag' of git://git.ker.. > git tree: upstream > console+strace: https://syzkaller.appspot.com/x/log.txt?x=13344da2580000 > kernel config: https://syzkaller.appspot.com/x/.config?x=13f39c6a0380a209 > dashboard link: https://syzkaller.appspot.com/bug?extid=d371efea57d5aeab877b > compiler: Debian clang version 20.1.7 (++20250616065708+6146a88f6049-1~exp1~20250616065826.132), Debian LLD 20.1.7 > syz repro: https://syzkaller.appspot.com/x/repro.syz?x=12c22c34580000 > C reproducer: https://syzkaller.appspot.com/x/repro.c?x=15a125a2580000 > > Downloadable assets: > disk image: https://storage.googleapis.com/syzbot-assets/e0297ec5b8e1/disk-0e39a731.raw.xz > vmlinux: https://storage.googleapis.com/syzbot-assets/0396bfd57e65/vmlinux-0e39a731.xz > kernel image: https://storage.googleapis.com/syzbot-assets/68482d381f43/bzImage-0e39a731.xz > mounted in repro: https://storage.googleapis.com/syzbot-assets/f909676ebee0/mount_0.gz > fsck result: failed (log: https://syzkaller.appspot.com/x/fsck.log?x=15344da2580000) > > The issue was bisected to: > > commit d185351325237da688de006a2c579e82ea97bdfe > Author: Hongbo Li <lih...@hu...> > Date: Thu Jul 10 12:14:13 2025 +0000 > > f2fs: separate the options parsing and options checking > > bisection log: https://syzkaller.appspot.com/x/bisect.txt?x=137ca5a2580000 > final oops: https://syzkaller.appspot.com/x/report.txt?x=10fca5a2580000 > console output: https://syzkaller.appspot.com/x/log.txt?x=177ca5a2580000 > > IMPORTANT: if you fix the issue, please add the following tag to the commit: > Reported-by: syz...@sy... > Fixes: d18535132523 ("f2fs: separate the options parsing and options checking") > > F2FS-fs (loop0): f2fs_recover_fsync_data: recovery fsync data, check_only: 0 > F2FS-fs (loop0): Mounted with checkpoint version = 48b305e4 > Oops: gen[ 107.736417][ T5848] Oops: general protection fault, probably for non-canonical address 0xdffffc0000000000: 0000 [#1] SMP KASAN PTI > KASAN: null-ptr-deref in range [0x0000000000000000-0x0000000000000007] > CPU: 1 UID: 0 PID: 5848 Comm: syz-executor263 Tainted: G W 6.17.0-rc1-syzkaller-00014-g0e39a731820a #0 PREEMPT_{RT,(full)} > Tainted: [W]=WARN > Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/12/2025 > RIP: 0010:strcmp+0x3c/0xc0 lib/string.c:284 > Code: 00 fc ff df 45 31 f6 4a 8d 04 37 48 89 c1 48 c1 e9 03 0f b6 0c 19 84 c9 75 2c 42 0f b6 2c 37 4a 8d 04 36 48 89 c1 48 c1 e9 03 <0f> b6 0c 19 84 c9 75 33 42 0f b6 0c 36 40 38 cd 75 48 49 ff c6 40 > RSP: 0018:ffffc90004adf8f8 EFLAGS: 00010246 > RAX: 0000000000000000 RBX: dffffc0000000000 RCX: 0000000000000000 > RDX: 0000000021ec2c00 RSI: 0000000000000000 RDI: ffff888021ec2c80 > RBP: 0000000000000066 R08: 0000000000000000 R09: 0000000000000000 > R10: ffff88803d2c9768 R11: ffffed1007a592fb R12: 1ffff1100611a891 > R13: 0000000000000000 R14: 0000000000000000 R15: ffff888021ec2c80 > FS: 0000555575c20480(0000) GS:ffff8881269c5000(0000) knlGS:0000000000000000 > CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 > CR2: 0000200000001000 CR3: 000000003d342000 CR4: 00000000003526f0 > Call Trace: > <TASK> > f2fs_check_quota_consistency fs/f2fs/super.c:1188 [inline] > f2fs_check_opt_consistency+0x1378/0x2c10 fs/f2fs/super.c:1436 > __f2fs_remount fs/f2fs/super.c:2653 [inline] > f2fs_reconfigure+0x482/0x1770 fs/f2fs/super.c:5297 > reconfigure_super+0x224/0x890 fs/super.c:1077 > do_remount fs/namespace.c:3314 [inline] > path_mount+0xd18/0xfe0 fs/namespace.c:4112 > do_mount fs/namespace.c:4133 [inline] > __do_sys_mount fs/namespace.c:4344 [inline] > __se_sys_mount+0x317/0x410 fs/namespace.c:4321 > do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline] > do_syscall_64+0xfa/0x3b0 arch/x86/entry/syscall_64.c:94 > entry_SYSCALL_64_after_hwframe+0x77/0x7f > RIP: 0033:0x7f13267ca259 > Code: 28 00 00 00 75 05 48 83 c4 28 c3 e8 f1 17 00 00 90 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 b8 ff ff ff f7 d8 64 89 01 48 > RSP: 002b:00007fff3d15d4a8 EFLAGS: 00000246 ORIG_RAX: 00000000000000a5 > RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 00007f13267ca259 > RDX: 0000000000000000 RSI: 0000200000000040 RDI: 0000000000000000 > RBP: 0000000000000000 R08: 0000200000000140 R09: 00007fff3d15d4e0 > R10: 0000000000000020 R11: 0000000000000246 R12: 00007fff3d15d4e0 > R13: 00007fff3d15d768 R14: 431bde82d7b634db R15: 00007f132681303b > </TASK> > Modules linked in: > ---[ end trace 0000000000000000 ]--- > RIP: 0010:strcmp+0x3c/0xc0 lib/string.c:284 > Code: 00 fc ff df 45 31 f6 4a 8d 04 37 48 89 c1 48 c1 e9 03 0f b6 0c 19 84 c9 75 2c 42 0f b6 2c 37 4a 8d 04 36 48 89 c1 48 c1 e9 03 <0f> b6 0c 19 84 c9 75 33 42 0f b6 0c 36 40 38 cd 75 48 49 ff c6 40 > RSP: 0018:ffffc90004adf8f8 EFLAGS: 00010246 > RAX: 0000000000000000 RBX: dffffc0000000000 RCX: 0000000000000000 > RDX: 0000000021ec2c00 RSI: 0000000000000000 RDI: ffff888021ec2c80 > RBP: 0000000000000066 R08: 0000000000000000 R09: 0000000000000000 > R10: ffff88803d2c9768 R11: ffffed1007a592fb R12: 1ffff1100611a891 > R13: 0000000000000000 R14: 0000000000000000 R15: ffff888021ec2c80 > FS: 0000555575c20480(0000) GS:ffff8881268c5000(0000) knlGS:0000000000000000 > CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 > CR2: 0000000000000000 CR3: 000000003d342000 CR4: 00000000003526f0 > ---------------- > Code disassembly (best guess), 4 bytes skipped: > 0: 45 31 f6 xor %r14d,%r14d > 3: 4a 8d 04 37 lea (%rdi,%r14,1),%rax > 7: 48 89 c1 mov %rax,%rcx > a: 48 c1 e9 03 shr $0x3,%rcx > e: 0f b6 0c 19 movzbl (%rcx,%rbx,1),%ecx > 12: 84 c9 test %cl,%cl > 14: 75 2c jne 0x42 > 16: 42 0f b6 2c 37 movzbl (%rdi,%r14,1),%ebp > 1b: 4a 8d 04 36 lea (%rsi,%r14,1),%rax > 1f: 48 89 c1 mov %rax,%rcx > 22: 48 c1 e9 03 shr $0x3,%rcx > * 26: 0f b6 0c 19 movzbl (%rcx,%rbx,1),%ecx <-- trapping instruction > 2a: 84 c9 test %cl,%cl > 2c: 75 33 jne 0x61 > 2e: 42 0f b6 0c 36 movzbl (%rsi,%r14,1),%ecx > 33: 40 38 cd cmp %cl,%bpl > 36: 75 48 jne 0x80 > 38: 49 ff c6 inc %r14 > 3b: 40 rex > > > --- > 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 syz...@go.... > > syzbot will keep track of this issue. See: > https://goo.gl/tpsmEJ#status for how to communicate with syzbot. > For information about bisection process see: https://goo.gl/tpsmEJ#bisection > > If the report is already addressed, let syzbot know by replying with: > #syz fix: exact-commit-title > > If you want syzbot to run the reproducer, reply with: > #syz test: git://repo/address.git branch-or-commit-hash > If you attach or paste a git patch, syzbot will apply it before testing. > > 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 |