Messages in this thread | | | From | Dmitry Vyukov <> | Date | Wed, 31 Mar 2021 08:11:38 +0200 | Subject | Re: [syzbot] WARNING: suspicious RCU usage in copy_page_range |
| |
On Wed, Mar 31, 2021 at 12:26 AM syzbot <syzbot+1a33233ccd8201ec2322@syzkaller.appspotmail.com> wrote: > > Hello, > > syzbot found the following issue on: > > HEAD commit: db24726b Merge tag 'integrity-v5.12-fix' of git://git.kern.. > git tree: upstream > console output: https://syzkaller.appspot.com/x/log.txt?x=16c16b7cd00000 > kernel config: https://syzkaller.appspot.com/x/.config?x=daeff30c2474a60f > dashboard link: https://syzkaller.appspot.com/bug?extid=1a33233ccd8201ec2322 > > Unfortunately, I don't have any reproducer for this issue yet. > > IMPORTANT: if you fix the issue, please add the following tag to the commit: > Reported-by: syzbot+1a33233ccd8201ec2322@syzkaller.appspotmail.com
I think this is a LOCKDEP issue. +LOCKDEP maintainers.
Another bug happened on another thread ("WARNING: possible circular locking dependency detected"). Lockdep disabled lock tracking ("debug_locks = 0" in the report), which probably made it miss rcu_unlock somewhere, but it did not turn off reporting yet and produced the false positive first.
I think if LOCKDEP disables lock tracking, it must also disable reporting of issues that require lock tracking. That would avoid false positives.
Some LOCKDEP-detectable bug that happens very frequently was added recently, and syzbot got a dozen of such assorted one-off false positive reports from LOCKDEP. Or has something changed in LOCKDEP recently so it started producing such false positives?
Excerpt from console output:
[ 312.003258][ T8401] ============================= [ 312.003263][ T8401] WARNING: suspicious RCU usage [ 312.003268][ T8401] 5.12.0-rc4-syzkaller #0 Not tainted [ 312.005611][T16839] ====================================================== [ 312.005617][T16839] WARNING: possible circular locking dependency detected [ 312.005623][T16839] 5.12.0-rc4-syzkaller #0 Not tainted [ 312.005631][T16839] ------------------------------------------------------
> ============================= > WARNING: suspicious RCU usage > 5.12.0-rc4-syzkaller #0 Not tainted > ----------------------------- > kernel/sched/core.c:8294 Illegal context switch in RCU-bh read-side critical section! > > other info that might help us debug this: > > > rcu_scheduler_active = 2, debug_locks = 0 > 3 locks held by syz-executor.0/8401: > #0: ffffffff8c03e5b0 (dup_mmap_sem){++++}-{0:0}, at: dup_mmap kernel/fork.c:479 [inline] > #0: ffffffff8c03e5b0 (dup_mmap_sem){++++}-{0:0}, at: dup_mm+0x108/0x1380 kernel/fork.c:1368 > #1: ffff888018d08858 (&mm->mmap_lock#2){++++}-{3:3}, at: mmap_write_lock_killable include/linux/mmap_lock.h:87 [inline] > #1: ffff888018d08858 (&mm->mmap_lock#2){++++}-{3:3}, at: dup_mmap kernel/fork.c:480 [inline] > #1: ffff888018d08858 (&mm->mmap_lock#2){++++}-{3:3}, at: dup_mm+0x12e/0x1380 kernel/fork.c:1368 > #2: ffff88801888c058 (&mm->mmap_lock/1){+.+.}-{3:3}, at: mmap_write_lock_nested include/linux/mmap_lock.h:78 [inline] > #2: ffff88801888c058 (&mm->mmap_lock/1){+.+.}-{3:3}, at: dup_mmap kernel/fork.c:489 [inline] > #2: ffff88801888c058 (&mm->mmap_lock/1){+.+.}-{3:3}, at: dup_mm+0x18a/0x1380 kernel/fork.c:1368 > > stack backtrace: > CPU: 0 PID: 8401 Comm: syz-executor.0 Not tainted 5.12.0-rc4-syzkaller #0 > Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 > Call Trace: > __dump_stack lib/dump_stack.c:79 [inline] > dump_stack+0x141/0x1d7 lib/dump_stack.c:120 > ___might_sleep+0x229/0x2c0 kernel/sched/core.c:8294 > copy_pte_range mm/memory.c:1010 [inline] > copy_pmd_range mm/memory.c:1064 [inline] > copy_pud_range mm/memory.c:1101 [inline] > copy_p4d_range mm/memory.c:1125 [inline] > copy_page_range+0x1270/0x3fd0 mm/memory.c:1198 > dup_mmap kernel/fork.c:594 [inline] > dup_mm+0x9ed/0x1380 kernel/fork.c:1368 > copy_mm kernel/fork.c:1424 [inline] > copy_process+0x2b99/0x7150 kernel/fork.c:2107 > kernel_clone+0xe7/0xab0 kernel/fork.c:2500 > __do_sys_clone+0xc8/0x110 kernel/fork.c:2617 > do_syscall_64+0x2d/0x70 arch/x86/entry/common.c:46 > entry_SYSCALL_64_after_hwframe+0x44/0xae > RIP: 0033:0x464a4b > Code: ed 0f 85 60 01 00 00 64 4c 8b 0c 25 10 00 00 00 45 31 c0 4d 8d 91 d0 02 00 00 31 d2 31 f6 bf 11 00 20 01 b8 38 00 00 00 0f 05 <48> 3d 00 f0 ff ff 0f 87 89 00 00 00 41 89 c5 85 c0 0f 85 90 00 00 > RSP: 002b:00007ffd44303270 EFLAGS: 00000246 ORIG_RAX: 0000000000000038 > RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 0000000000464a4b > RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000001200011 > RBP: 0000000000000001 R08: 0000000000000000 R09: 0000000002e94400 > R10: 0000000002e946d0 R11: 0000000000000246 R12: 0000000000000001 > R13: 0000000000000000 R14: 0000000000000000 R15: 00007ffd44303360 > > > --- > 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@googlegroups.com. > > syzbot will keep track of this issue. See: > https://goo.gl/tpsmEJ#status for how to communicate with syzbot. > > -- > You received this message because you are subscribed to the Google Groups "syzkaller-bugs" group. > To unsubscribe from this group and stop receiving emails from it, send an email to syzkaller-bugs+unsubscribe@googlegroups.com. > To view this discussion on the web visit https://groups.google.com/d/msgid/syzkaller-bugs/00000000000086695705bec87c9f%40google.com.
| |