syzbot


possible deadlock in __mmu_notifier_invalidate_range_end

Status: closed as invalid on 2019/11/19 05:22
Subsystems: mm
[Documentation on labels]
Reported-by: syzbot+aaedc50d99a03250fe1f@syzkaller.appspotmail.com
First crash: 1696d, last: 1683d
Cause bisection: introduced by (bisect log) :
commit e58b341134ca751d9c12bacded12a8b4dd51368d
Author: Stephen Rothwell <sfr@canb.auug.org.au>
Date: Fri Aug 30 09:42:14 2019 +0000

  Merge remote-tracking branch 'hmm/hmm'

Crash: possible deadlock in __mmu_notifier_invalidate_range_end (log)
Repro: C syz .config
  
Discussions (2)
Title Replies (including bot) Last reply
[PATCH] mm, notifier: Fix early return case for new lockdep annotations 4 (4) 2019/09/09 08:22
possible deadlock in __mmu_notifier_invalidate_range_end 0 (1) 2019/09/06 17:08

Sample crash report:
============================================
WARNING: possible recursive locking detected
5.3.0-rc6-next-20190830 #75 Not tainted
--------------------------------------------
syz-executor862/10012 is trying to acquire lock:
ffffffff8904ff60 (mmu_notifier_invalidate_range_start){+.+.}, at: __mmu_notifier_invalidate_range_end+0x0/0x360 mm/mmu_notifier.c:169

but task is already holding lock:
ffffffff8904ff60 (mmu_notifier_invalidate_range_start){+.+.}, at: __oom_reap_task_mm+0x196/0x490 mm/oom_kill.c:542

other info that might help us debug this:
 Possible unsafe locking scenario:

       CPU0
       ----
  lock(mmu_notifier_invalidate_range_start);
  lock(mmu_notifier_invalidate_range_start);

 *** DEADLOCK ***

 May be due to missing lock nesting notation

1 lock held by syz-executor862/10012:
 #0: ffffffff8904ff60 (mmu_notifier_invalidate_range_start){+.+.}, at: __oom_reap_task_mm+0x196/0x490 mm/oom_kill.c:542

stack backtrace:
CPU: 1 PID: 10012 Comm: syz-executor862 Not tainted 5.3.0-rc6-next-20190830 #75
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
Call Trace:
 __dump_stack lib/dump_stack.c:77 [inline]
 dump_stack+0x172/0x1f0 lib/dump_stack.c:113
 print_deadlock_bug kernel/locking/lockdep.c:2371 [inline]
 check_deadlock kernel/locking/lockdep.c:2412 [inline]
 validate_chain kernel/locking/lockdep.c:2955 [inline]
 __lock_acquire.cold+0x15d/0x385 kernel/locking/lockdep.c:3955
 lock_acquire+0x190/0x410 kernel/locking/lockdep.c:4487
 __mmu_notifier_invalidate_range_end+0x3c/0x360 mm/mmu_notifier.c:193
 mmu_notifier_invalidate_range_end include/linux/mmu_notifier.h:375 [inline]
 __oom_reap_task_mm+0x3fa/0x490 mm/oom_kill.c:552
 exit_mmap+0x42c/0x530 mm/mmap.c:3149
 __mmput kernel/fork.c:1082 [inline]
 mmput+0x179/0x4d0 kernel/fork.c:1103
 exit_mm kernel/exit.c:547 [inline]
 do_exit+0x823/0x2e60 kernel/exit.c:866
 do_group_exit+0x135/0x360 kernel/exit.c:983
 get_signal+0x47c/0x2500 kernel/signal.c:2734
 do_signal+0x87/0x1700 arch/x86/kernel/signal.c:815
 exit_to_usermode_loop+0x286/0x380 arch/x86/entry/common.c:159
 prepare_exit_to_usermode arch/x86/entry/common.c:194 [inline]
 syscall_return_slowpath arch/x86/entry/common.c:274 [inline]
 do_syscall_64+0x65f/0x760 arch/x86/entry/common.c:300
 entry_SYSCALL_64_after_hwframe+0x49/0xbe
RIP: 0033:0x4466d9
Code: Bad RIP value.
RSP: 002b:00007f872d192db8 EFLAGS: 00000246 ORIG_RAX: 00000000000000ca
RAX: fffffffffffffe00 RBX: 00000000006dbc28 RCX: 00000000004466d9
RDX: 0000000000000000 RSI: 0000000000000080 RDI: 00000000006dbc28
RBP: 00000000006dbc20 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 00000000006dbc2c
R13: 00007ffdda08980f R14: 00007f872d1939c0 R15: 20c49ba5e353f7cf

Crashes (72):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2019/09/03 08:51 linux-next 6d028043b55e 14544a56 .config console log report syz C ci-upstream-linux-next-kasan-gce-root
2019/09/02 19:56 linux-next 6d028043b55e 14544a56 .config console log report syz C ci-upstream-linux-next-kasan-gce-root
2019/09/15 11:01 linux-next 6d028043b55e 32d59357 .config console log report ci-upstream-linux-next-kasan-gce-root
2019/09/15 07:17 linux-next 6d028043b55e 32d59357 .config console log report ci-upstream-linux-next-kasan-gce-root
2019/09/15 05:21 linux-next 6d028043b55e 32d59357 .config console log report ci-upstream-linux-next-kasan-gce-root
2019/09/14 11:50 linux-next 6d028043b55e 32d59357 .config console log report ci-upstream-linux-next-kasan-gce-root
2019/09/13 08:45 linux-next 6d028043b55e 40fa42bc .config console log report ci-upstream-linux-next-kasan-gce-root
2019/09/12 14:26 linux-next 6d028043b55e 0b7672ee .config console log report ci-upstream-linux-next-kasan-gce-root
2019/09/12 12:59 linux-next 6d028043b55e f4e53c10 .config console log report ci-upstream-linux-next-kasan-gce-root
2019/09/12 10:58 linux-next 6d028043b55e f4e53c10 .config console log report ci-upstream-linux-next-kasan-gce-root
2019/09/12 00:33 linux-next 6d028043b55e f4e53c10 .config console log report ci-upstream-linux-next-kasan-gce-root
2019/09/11 17:15 linux-next 6d028043b55e a60cb4cd .config console log report ci-upstream-linux-next-kasan-gce-root
2019/09/11 16:10 linux-next 6d028043b55e a60cb4cd .config console log report ci-upstream-linux-next-kasan-gce-root
2019/09/11 13:47 linux-next 6d028043b55e a60cb4cd .config console log report ci-upstream-linux-next-kasan-gce-root
2019/09/11 05:33 linux-next 6d028043b55e a60cb4cd .config console log report ci-upstream-linux-next-kasan-gce-root
2019/09/11 03:57 linux-next 6d028043b55e a60cb4cd .config console log report ci-upstream-linux-next-kasan-gce-root
2019/09/11 00:03 linux-next 6d028043b55e a60cb4cd .config console log report ci-upstream-linux-next-kasan-gce-root
2019/09/10 21:28 linux-next 6d028043b55e a60cb4cd .config console log report ci-upstream-linux-next-kasan-gce-root
2019/09/10 13:57 linux-next 6d028043b55e a60cb4cd .config console log report ci-upstream-linux-next-kasan-gce-root
2019/09/10 06:27 linux-next 6d028043b55e a60cb4cd .config console log report ci-upstream-linux-next-kasan-gce-root
2019/09/10 03:27 linux-next 6d028043b55e a60cb4cd .config console log report ci-upstream-linux-next-kasan-gce-root
2019/09/09 22:01 linux-next 6d028043b55e a60cb4cd .config console log report ci-upstream-linux-next-kasan-gce-root
2019/09/09 18:58 linux-next 6d028043b55e a60cb4cd .config console log report ci-upstream-linux-next-kasan-gce-root
2019/09/09 17:07 linux-next 6d028043b55e a60cb4cd .config console log report ci-upstream-linux-next-kasan-gce-root
2019/09/09 14:50 linux-next 6d028043b55e a60cb4cd .config console log report ci-upstream-linux-next-kasan-gce-root
2019/09/09 04:03 linux-next 6d028043b55e a60cb4cd .config console log report ci-upstream-linux-next-kasan-gce-root
2019/09/09 00:54 linux-next 6d028043b55e a60cb4cd .config console log report ci-upstream-linux-next-kasan-gce-root
2019/09/08 22:47 linux-next 6d028043b55e a60cb4cd .config console log report ci-upstream-linux-next-kasan-gce-root
2019/09/08 21:57 linux-next 6d028043b55e a60cb4cd .config console log report ci-upstream-linux-next-kasan-gce-root
2019/09/08 17:57 linux-next 6d028043b55e a60cb4cd .config console log report ci-upstream-linux-next-kasan-gce-root
2019/09/08 11:52 linux-next 6d028043b55e a60cb4cd .config console log report ci-upstream-linux-next-kasan-gce-root
2019/09/08 06:19 linux-next 6d028043b55e a60cb4cd .config console log report ci-upstream-linux-next-kasan-gce-root
2019/09/08 04:33 linux-next 6d028043b55e a60cb4cd .config console log report ci-upstream-linux-next-kasan-gce-root
2019/09/07 09:41 linux-next 6d028043b55e a60cb4cd .config console log report ci-upstream-linux-next-kasan-gce-root
2019/09/06 22:52 linux-next 6d028043b55e a60cb4cd .config console log report ci-upstream-linux-next-kasan-gce-root
2019/09/06 17:15 linux-next 6d028043b55e 040fda58 .config console log report ci-upstream-linux-next-kasan-gce-root
2019/09/06 07:17 linux-next 6d028043b55e 040fda58 .config console log report ci-upstream-linux-next-kasan-gce-root
2019/09/06 06:58 linux-next 6d028043b55e 040fda58 .config console log report ci-upstream-linux-next-kasan-gce-root
2019/09/06 02:04 linux-next 6d028043b55e 040fda58 .config console log report ci-upstream-linux-next-kasan-gce-root
2019/09/05 23:14 linux-next 6d028043b55e 040fda58 .config console log report ci-upstream-linux-next-kasan-gce-root
2019/09/05 17:30 linux-next 6d028043b55e 040fda58 .config console log report ci-upstream-linux-next-kasan-gce-root
2019/09/05 14:15 linux-next 6d028043b55e 040fda58 .config console log report ci-upstream-linux-next-kasan-gce-root
2019/09/05 12:09 linux-next 6d028043b55e 040fda58 .config console log report ci-upstream-linux-next-kasan-gce-root
2019/09/05 10:48 linux-next 6d028043b55e 040fda58 .config console log report ci-upstream-linux-next-kasan-gce-root
2019/09/05 06:30 linux-next 6d028043b55e 040fda58 .config console log report ci-upstream-linux-next-kasan-gce-root
2019/09/05 01:24 linux-next 6d028043b55e 040fda58 .config console log report ci-upstream-linux-next-kasan-gce-root
2019/09/04 22:17 linux-next 6d028043b55e 040fda58 .config console log report ci-upstream-linux-next-kasan-gce-root
2019/09/04 21:42 linux-next 6d028043b55e 040fda58 .config console log report ci-upstream-linux-next-kasan-gce-root
2019/09/04 15:48 linux-next 6d028043b55e 12381952 .config console log report ci-upstream-linux-next-kasan-gce-root
2019/09/04 15:23 linux-next 6d028043b55e 12381952 .config console log report ci-upstream-linux-next-kasan-gce-root
2019/09/04 14:53 linux-next 6d028043b55e 12381952 .config console log report ci-upstream-linux-next-kasan-gce-root
2019/09/04 14:16 linux-next 6d028043b55e 12381952 .config console log report ci-upstream-linux-next-kasan-gce-root
2019/09/04 07:53 linux-next 6d028043b55e 12381952 .config console log report ci-upstream-linux-next-kasan-gce-root
2019/09/04 07:14 linux-next 6d028043b55e 12381952 .config console log report ci-upstream-linux-next-kasan-gce-root
2019/09/03 22:55 linux-next 6d028043b55e 48448e71 .config console log report ci-upstream-linux-next-kasan-gce-root
2019/09/03 21:33 linux-next 6d028043b55e 48448e71 .config console log report ci-upstream-linux-next-kasan-gce-root
2019/09/03 18:14 linux-next 6d028043b55e 48448e71 .config console log report ci-upstream-linux-next-kasan-gce-root
2019/09/03 03:43 linux-next 6d028043b55e 14544a56 .config console log report ci-upstream-linux-next-kasan-gce-root
2019/09/02 23:28 linux-next 6d028043b55e 14544a56 .config console log report ci-upstream-linux-next-kasan-gce-root
2019/09/02 23:20 linux-next 6d028043b55e 14544a56 .config console log report ci-upstream-linux-next-kasan-gce-root
2019/09/02 19:17 linux-next 6d028043b55e 14544a56 .config console log report ci-upstream-linux-next-kasan-gce-root
2019/09/02 11:44 linux-next 6d028043b55e db7c31ca .config console log report ci-upstream-linux-next-kasan-gce-root
2019/09/02 08:18 linux-next 6d028043b55e db7c31ca .config console log report ci-upstream-linux-next-kasan-gce-root
2019/09/02 05:17 linux-next 6d028043b55e db7c31ca .config console log report ci-upstream-linux-next-kasan-gce-root
2019/09/02 04:47 linux-next 6d028043b55e db7c31ca .config console log report ci-upstream-linux-next-kasan-gce-root
2019/09/02 00:42 linux-next 6d028043b55e bad3cce2 .config console log report ci-upstream-linux-next-kasan-gce-root
* Struck through repros no longer work on HEAD.