[syzbot] [kvm?] WARNING in __srcu_check_read_flavor
From: syzbot
Date: Wed Dec 11 2024 - 12:23:29 EST
Hello,
syzbot found the following issue on:
HEAD commit: af2ea8ab7a54 Add linux-next specific files for 20241205
git tree: linux-next
console output: https://syzkaller.appspot.com/x/log.txt?x=1267ab30580000
kernel config: https://syzkaller.appspot.com/x/.config?x=76f158395f6f15fd
dashboard link: https://syzkaller.appspot.com/bug?extid=4a606091891fbc6811cf
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/8af0861258fa/disk-af2ea8ab.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/ffb38cf7a344/vmlinux-af2ea8ab.xz
kernel image: https://storage.googleapis.com/syzbot-assets/6fbd2e50358a/bzImage-af2ea8ab.xz
IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by: syzbot+4a606091891fbc6811cf@xxxxxxxxxxxxxxxxxxxxxxxxx
------------[ cut here ]------------
CPU 0 old state 10 new state 1
WARNING: CPU: 0 PID: 7665 at kernel/rcu/srcutree.c:734 __srcu_check_read_flavor+0x107/0x150 kernel/rcu/srcutree.c:734
Modules linked in:
CPU: 0 UID: 0 PID: 7665 Comm: syz.1.296 Not tainted 6.13.0-rc1-next-20241205-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/13/2024
RIP: 0010:__srcu_check_read_flavor+0x107/0x150 kernel/rcu/srcutree.c:734
Code: c6 c8 01 00 00 4c 89 f0 48 c1 e8 03 42 0f b6 04 20 84 c0 75 38 41 8b 36 48 c7 c7 60 cc 0b 8c 89 ea 44 89 f9 e8 7a 8e db ff 90 <0f> 0b 90 90 eb a2 89 d9 80 e1 07 80 c1 03 38 c1 0f 8c 64 ff ff ff
RSP: 0018:ffffc90003d8f638 EFLAGS: 00010246
RAX: 7f55abc023df8500 RBX: ffffe8ffffc66be0 RCX: ffff88801eb93c00
RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000000
RBP: 000000000000000a R08: ffffffff81600dd2 R09: 1ffff110170c519a
R10: dffffc0000000000 R11: ffffed10170c519b R12: dffffc0000000000
R13: 0000607f47666bc0 R14: ffffe8ffffc66d88 R15: 0000000000000001
FS: 0000000000000000(0000) GS:ffff8880b8600000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007faaec237000 CR3: 00000000250bc000 CR4: 00000000003526f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
<TASK>
srcu_check_read_flavor include/linux/srcutree.h:269 [inline]
srcu_read_lock include/linux/srcu.h:247 [inline]
kvm_mmu_notifier_release+0x2f/0xd0 virt/kvm/kvm_main.c:863
mn_hlist_release mm/mmu_notifier.c:321 [inline]
__mmu_notifier_release+0x3e4/0x670 mm/mmu_notifier.c:359
mmu_notifier_release include/linux/mmu_notifier.h:402 [inline]
exit_mmap+0x142/0xd50 mm/mmap.c:1239
__mmput+0x115/0x3c0 kernel/fork.c:1350
exit_mm+0x220/0x310 kernel/exit.c:570
do_exit+0x9b2/0x28e0 kernel/exit.c:925
do_group_exit+0x207/0x2c0 kernel/exit.c:1087
get_signal+0x16b2/0x1750 kernel/signal.c:3017
arch_do_signal_or_restart+0x96/0x860 arch/x86/kernel/signal.c:337
exit_to_user_mode_loop kernel/entry/common.c:111 [inline]
exit_to_user_mode_prepare include/linux/entry-common.h:329 [inline]
__syscall_exit_to_user_mode_work kernel/entry/common.c:207 [inline]
syscall_exit_to_user_mode+0xce/0x340 kernel/entry/common.c:218
do_syscall_64+0x100/0x230 arch/x86/entry/common.c:89
entry_SYSCALL_64_after_hwframe+0x77/0x7f
RIP: 0033:0x7fc5e197fed9
Code: Unable to access opcode bytes at 0x7fc5e197feaf.
RSP: 002b:00007fc5e27460e8 EFLAGS: 00000246 ORIG_RAX: 00000000000000ca
RAX: fffffffffffffe00 RBX: 00007fc5e1b46088 RCX: 00007fc5e197fed9
RDX: 0000000000000000 RSI: 0000000000000080 RDI: 00007fc5e1b46088
RBP: 00007fc5e1b46080 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 00007fc5e1b4608c
R13: 0000000000000000 R14: 00007fff899d8670 R15: 00007fff899d8758
</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 syzkaller@xxxxxxxxxxxxxxxx.
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