[v5.15] WARNING in invalidate_bh_lru (2)

0 views
Skip to first unread message

syzbot

unread,
Aug 19, 2023, 6:31:52 PM8/19/23
to syzkaller...@googlegroups.com
Hello,

syzbot found the following issue on:

HEAD commit: f6f7927ac664 Linux 5.15.127
git tree: linux-5.15.y
console output: https://syzkaller.appspot.com/x/log.txt?x=169af727a80000
kernel config: https://syzkaller.appspot.com/x/.config?x=ea39ec6ccd2c5d32
dashboard link: https://syzkaller.appspot.com/bug?extid=b76ff2dacb179537b4fc
compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40

Unfortunately, I don't have any reproducer for this issue yet.

Downloadable assets:
disk image: https://storage.googleapis.com/syzbot-assets/e290f46611c7/disk-f6f7927a.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/64ee0ddb7c8c/vmlinux-f6f7927a.xz
kernel image: https://storage.googleapis.com/syzbot-assets/3c32675f93c1/bzImage-f6f7927a.xz

IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by: syzbot+b76ff2...@syzkaller.appspotmail.com

------------[ cut here ]------------
VFS: brelse: Trying to free free buffer
WARNING: CPU: 1 PID: 0 at fs/buffer.c:1148 __brelse fs/buffer.c:1148 [inline]
WARNING: CPU: 1 PID: 0 at fs/buffer.c:1148 brelse include/linux/buffer_head.h:325 [inline]
WARNING: CPU: 1 PID: 0 at fs/buffer.c:1148 __invalidate_bh_lrus fs/buffer.c:1394 [inline]
WARNING: CPU: 1 PID: 0 at fs/buffer.c:1148 invalidate_bh_lru+0xf8/0x1a0 fs/buffer.c:1407
Modules linked in:
CPU: 1 PID: 0 Comm: swapper/1 Not tainted 5.15.127-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/26/2023
RIP: 0010:__brelse fs/buffer.c:1148 [inline]
RIP: 0010:brelse include/linux/buffer_head.h:325 [inline]
RIP: 0010:__invalidate_bh_lrus fs/buffer.c:1394 [inline]
RIP: 0010:invalidate_bh_lru+0xf8/0x1a0 fs/buffer.c:1407
Code: 00 e8 1c 7a e4 ff f0 ff 0b eb 21 e8 82 d8 9a ff 41 80 3c 2e 00 75 26 eb 2c e8 74 d8 9a ff 48 c7 c7 e0 44 97 8a e8 48 a1 66 ff <0f> 0b 48 bd 00 00 00 00 00 fc ff df 41 80 3c 2e 00 74 08 4c 89 ff
RSP: 0018:ffffc90000dd0f60 EFLAGS: 00010046
RAX: efc64e0143492d00 RBX: ffff888024391b40 RCX: ffff88813fe68000
RDX: 0000000080010002 RSI: 0000000080010002 RDI: 0000000000000000
RBP: 0000000000000000 R08: ffffffff816658fc R09: ffffed1017364f24
R10: 0000000000000000 R11: dffffc0000000001 R12: ffff8880b9b35978
R13: 0000000000000038 R14: 1ffff11017366b36 R15: ffff8880b9b359b0
FS: 0000000000000000(0000) GS:ffff8880b9b00000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000001b30123000 CR3: 0000000083c16000 CR4: 00000000003506e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
<IRQ>
flush_smp_call_function_queue+0x2b5/0x760 kernel/smp.c:628
__sysvec_call_function_single+0x9a/0x250 arch/x86/kernel/smp.c:248
sysvec_call_function_single+0x89/0xb0 arch/x86/kernel/smp.c:243
</IRQ>
<TASK>
asm_sysvec_call_function_single+0x16/0x20 arch/x86/include/asm/idtentry.h:646
RIP: 0010:native_save_fl arch/x86/include/asm/irqflags.h:22 [inline]
RIP: 0010:arch_local_save_flags arch/x86/include/asm/irqflags.h:70 [inline]
RIP: 0010:arch_irqs_disabled arch/x86/include/asm/irqflags.h:132 [inline]
RIP: 0010:acpi_safe_halt drivers/acpi/processor_idle.c:110 [inline]
RIP: 0010:acpi_idle_do_entry+0x10f/0x340 drivers/acpi/processor_idle.c:570
Code: 27 5a f7 48 83 e3 08 0f 85 0a 01 00 00 4c 8d 74 24 20 e8 d4 99 60 f7 0f 1f 44 00 00 e8 5a 23 5a f7 0f 00 2d 53 87 bc 00 fb f4 <4c> 89 f3 48 c1 eb 03 42 80 3c 3b 00 74 08 4c 89 f7 e8 ab c3 a3 f7
RSP: 0018:ffffc90000d67b00 EFLAGS: 000002d3
RAX: ffffffff8a25f086 RBX: 0000000000000000 RCX: ffff88813fe68000
RDX: 0000000000000000 RSI: ffffffff8a8b0c60 RDI: ffffffff8ad87900
RBP: ffffc90000d67b90 R08: ffffffff81868a80 R09: ffffed1027fcd001
R10: 0000000000000000 R11: dffffc0000000001 R12: 1ffff920001acf60
R13: ffff888140db7004 R14: ffffc90000d67b20 R15: dffffc0000000000
acpi_idle_enter+0x352/0x4f0 drivers/acpi/processor_idle.c:705
cpuidle_enter_state+0x521/0xef0 drivers/cpuidle/cpuidle.c:237
cpuidle_enter+0x59/0x90 drivers/cpuidle/cpuidle.c:351
call_cpuidle kernel/sched/idle.c:158 [inline]
cpuidle_idle_call kernel/sched/idle.c:239 [inline]
do_idle+0x3e4/0x670 kernel/sched/idle.c:306
cpu_startup_entry+0x14/0x20 kernel/sched/idle.c:403
start_secondary+0x371/0x500 arch/x86/kernel/smpboot.c:281
secondary_startup_64_no_verify+0xb1/0xbb
</TASK>
----------------
Code disassembly (best guess), 1 bytes skipped:
0: 5a pop %rdx
1: f7 48 83 e3 08 0f 85 testl $0x850f08e3,-0x7d(%rax)
8: 0a 01 or (%rcx),%al
a: 00 00 add %al,(%rax)
c: 4c 8d 74 24 20 lea 0x20(%rsp),%r14
11: e8 d4 99 60 f7 call 0xf76099ea
16: 0f 1f 44 00 00 nopl 0x0(%rax,%rax,1)
1b: e8 5a 23 5a f7 call 0xf75a237a
20: 0f 00 2d 53 87 bc 00 verw 0xbc8753(%rip) # 0xbc877a
27: fb sti
28: f4 hlt
* 29: 4c 89 f3 mov %r14,%rbx <-- trapping instruction
2c: 48 c1 eb 03 shr $0x3,%rbx
30: 42 80 3c 3b 00 cmpb $0x0,(%rbx,%r15,1)
35: 74 08 je 0x3f
37: 4c 89 f7 mov %r14,%rdi
3a: e8 ab c3 a3 f7 call 0xf7a3c3ea


---
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 syzk...@googlegroups.com.

syzbot will keep track of this issue. See:
https://goo.gl/tpsmEJ#status for how to communicate with syzbot.

If the bug is already fixed, let syzbot know by replying with:
#syz fix: exact-commit-title

If you want to overwrite bug's subsystems, reply with:
#syz set subsystems: new-subsystem
(See the list of subsystem names on the web dashboard)

If the bug is a duplicate of another bug, reply with:
#syz dup: exact-subject-of-another-report

If you want to undo deduplication, reply with:
#syz undup

syzbot

unread,
Aug 19, 2023, 6:47:53 PM8/19/23
to syzkaller...@googlegroups.com
syzbot has found a reproducer for the following issue on:

HEAD commit: f6f7927ac664 Linux 5.15.127
git tree: linux-5.15.y
console output: https://syzkaller.appspot.com/x/log.txt?x=12fb74cfa80000
kernel config: https://syzkaller.appspot.com/x/.config?x=ea39ec6ccd2c5d32
dashboard link: https://syzkaller.appspot.com/bug?extid=b76ff2dacb179537b4fc
compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40
syz repro: https://syzkaller.appspot.com/x/repro.syz?x=13dcaebba80000
C reproducer: https://syzkaller.appspot.com/x/repro.c?x=14646337a80000
mounted in repro: https://storage.googleapis.com/syzbot-assets/ece8af13a8ec/mount_0.gz

IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by: syzbot+b76ff2...@syzkaller.appspotmail.com

------------[ cut here ]------------
VFS: brelse: Trying to free free buffer
WARNING: CPU: 1 PID: 3488 at fs/buffer.c:1148 __brelse fs/buffer.c:1148 [inline]
WARNING: CPU: 1 PID: 3488 at fs/buffer.c:1148 brelse include/linux/buffer_head.h:325 [inline]
WARNING: CPU: 1 PID: 3488 at fs/buffer.c:1148 __invalidate_bh_lrus fs/buffer.c:1394 [inline]
WARNING: CPU: 1 PID: 3488 at fs/buffer.c:1148 invalidate_bh_lru+0xf8/0x1a0 fs/buffer.c:1407
Modules linked in:
CPU: 1 PID: 3488 Comm: syz-executor257 Not tainted 5.15.127-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/26/2023
RIP: 0010:__brelse fs/buffer.c:1148 [inline]
RIP: 0010:brelse include/linux/buffer_head.h:325 [inline]
RIP: 0010:__invalidate_bh_lrus fs/buffer.c:1394 [inline]
RIP: 0010:invalidate_bh_lru+0xf8/0x1a0 fs/buffer.c:1407
Code: 00 e8 1c 7a e4 ff f0 ff 0b eb 21 e8 82 d8 9a ff 41 80 3c 2e 00 75 26 eb 2c e8 74 d8 9a ff 48 c7 c7 e0 44 97 8a e8 48 a1 66 ff <0f> 0b 48 bd 00 00 00 00 00 fc ff df 41 80 3c 2e 00 74 08 4c 89 ff
RSP: 0018:ffffc90002f4fac8 EFLAGS: 00010046
RAX: 175042778e3b2600 RBX: ffff888071565d10 RCX: ffff88801efe0000
RDX: 0000000000000000 RSI: 0000000080000002 RDI: 0000000000000000
RBP: 0000000000000000 R08: ffffffff816658fc R09: ffffed1017364f24
R10: 0000000000000000 R11: dffffc0000000001 R12: ffff8880b9b35978
R13: 0000000000000000 R14: 1ffff11017366b2f R15: ffff8880b9b35978
FS: 0000555555844380(0000) GS:ffff8880b9b00000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000560d67ee7038 CR3: 000000007578b000 CR4: 00000000003506e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
<TASK>
smp_call_function_many_cond+0x8fa/0xd90 kernel/smp.c:960
on_each_cpu_cond_mask+0x3b/0x80 kernel/smp.c:1135
kill_bdev block/bdev.c:76 [inline]
blkdev_flush_mapping+0x178/0x340 block/bdev.c:659
blkdev_put_whole block/bdev.c:690 [inline]
blkdev_put+0x4f1/0x790 block/bdev.c:954
deactivate_locked_super+0xa0/0x110 fs/super.c:335
cleanup_mnt+0x44e/0x500 fs/namespace.c:1143
task_work_run+0x129/0x1a0 kernel/task_work.c:164
tracehook_notify_resume include/linux/tracehook.h:189 [inline]
exit_to_user_mode_loop+0x106/0x130 kernel/entry/common.c:175
exit_to_user_mode_prepare+0xb1/0x140 kernel/entry/common.c:208
__syscall_exit_to_user_mode_work kernel/entry/common.c:290 [inline]
syscall_exit_to_user_mode+0x5d/0x250 kernel/entry/common.c:301
do_syscall_64+0x49/0xb0 arch/x86/entry/common.c:86
entry_SYSCALL_64_after_hwframe+0x61/0xcb
RIP: 0033:0x7f62d0140507
Code: 07 00 48 83 c4 08 5b 5d c3 66 2e 0f 1f 84 00 00 00 00 00 c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 44 00 00 b8 a6 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 01 c3 48 c7 c2 b8 ff ff ff f7 d8 64 89 02 b8
RSP: 002b:00007fff388fe588 EFLAGS: 00000206 ORIG_RAX: 00000000000000a6
RAX: 0000000000000000 RBX: 0000000000000000 RCX: 00007f62d0140507
RDX: 0000000000000000 RSI: 000000000000000a RDI: 00007fff388fe640
RBP: 00007fff388fe640 R08: 0000000000000000 R09: 0000000000000000
R10: 00000000ffffffff R11: 0000000000000206 R12: 00007fff388ff6c0
R13: 00005555558456c0 R14: 431bde82d7b634db R15: 00007fff388ff6e0
</TASK>


---
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.

syzbot

unread,
Aug 30, 2023, 12:16:34 AM8/30/23
to syzkaller...@googlegroups.com
syzbot suspects this issue could be fixed by backporting the following commit:

commit e9109a92d2a95889498bed3719cd2318892171a2
git tree: upstream
Author: Jan Kara <ja...@suse.cz>
Date: Thu Oct 6 14:41:23 2022 +0000

udf: Convert udf_rename() to new directory iteration code

bisection log: https://syzkaller.appspot.com/x/bisect.txt?x=162fa988680000
Please keep in mind that other backports might be required as well.

For information about bisection process see: https://goo.gl/tpsmEJ#bisection
Reply all
Reply to author
Forward
0 new messages