syzbot


possible deadlock in exit_itimers

Status: auto-obsoleted due to no activity on 2023/08/26 19:01
Subsystems: kernel
[Documentation on labels]
Reported-by: syzbot+5fd924f4cd9dc1c7828c@syzkaller.appspotmail.com
First crash: 481d, last: 476d
Cause bisection: introduced by (bisect log) :
commit 1b59b2577582f9cf3d0f17245675a76859175cc1
Author: Thomas Gleixner <tglx@linutronix.de>
Date: Thu Jun 1 20:16:34 2023 +0000

  posix-timers: Prevent RT livelock in itimer_delete()

Crash: possible deadlock in exit_itimers (log)
Repro: C syz .config
  
Discussions (1)
Title Replies (including bot) Last reply
[syzbot] [kernel?] possible deadlock in exit_itimers 1 (3) 2023/06/18 20:44
Last patch testing requests (4)
Created Duration User Patch Repo Result
2023/08/26 17:39 1h01m retest repro linux-next OK log
2023/08/26 17:39 53m retest repro linux-next OK log
2023/08/26 17:39 19m retest repro linux-next OK log
2023/06/17 07:46 29m hdanton@sina.com patch https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git f7efed9f38f8 OK log

Sample crash report:
============================================
WARNING: possible recursive locking detected
6.4.0-rc6-next-20230616-syzkaller #0 Not tainted
--------------------------------------------
syz-executor196/6178 is trying to acquire lock:
ffff88801eccb640 (&new_timer->it_lock){-.-.}-{2:2}, at: itimer_delete kernel/time/posix-timers.c:1049 [inline]
ffff88801eccb640 (&new_timer->it_lock){-.-.}-{2:2}, at: exit_itimers+0x2ac/0x540 kernel/time/posix-timers.c:1109

but task is already holding lock:
ffff88801eccb640 (&new_timer->it_lock){-.-.}-{2:2}, at: __lock_timer+0x1cc/0x4d0 kernel/time/posix-timers.c:595

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

       CPU0
       ----
  lock(&new_timer->it_lock);
  lock(&new_timer->it_lock);

 *** DEADLOCK ***

 May be due to missing lock nesting notation

1 lock held by syz-executor196/6178:
 #0: ffff88801eccb640 (&new_timer->it_lock){-.-.}-{2:2}, at: __lock_timer+0x1cc/0x4d0 kernel/time/posix-timers.c:595

stack backtrace:
CPU: 1 PID: 6178 Comm: syz-executor196 Not tainted 6.4.0-rc6-next-20230616-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 05/27/2023
Call Trace:
 <TASK>
 __dump_stack lib/dump_stack.c:88 [inline]
 dump_stack_lvl+0xd9/0x150 lib/dump_stack.c:106
 check_deadlock kernel/locking/lockdep.c:3070 [inline]
 validate_chain kernel/locking/lockdep.c:3863 [inline]
 __lock_acquire+0x2a33/0x5e20 kernel/locking/lockdep.c:5144
 lock_acquire.part.0+0x11c/0x370 kernel/locking/lockdep.c:5761
 __raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:110 [inline]
 _raw_spin_lock_irqsave+0x3d/0x60 kernel/locking/spinlock.c:162
 itimer_delete kernel/time/posix-timers.c:1049 [inline]
 exit_itimers+0x2ac/0x540 kernel/time/posix-timers.c:1109
 do_exit+0x630/0x2a30 kernel/exit.c:848
 do_group_exit+0xd4/0x2a0 kernel/exit.c:1024
 __do_sys_exit_group kernel/exit.c:1035 [inline]
 __se_sys_exit_group kernel/exit.c:1033 [inline]
 __x64_sys_exit_group+0x3e/0x50 kernel/exit.c:1033
 do_syscall_x64 arch/x86/entry/common.c:50 [inline]
 do_syscall_64+0x39/0xb0 arch/x86/entry/common.c:80
 entry_SYSCALL_64_after_hwframe+0x63/0xcd
RIP: 0033:0x7f5dc8cc4dd9
Code: 00 49 c7 c0 b8 ff ff ff be e7 00 00 00 ba 3c 00 00 00 eb 12 0f 1f 44 00 00 89 d0 0f 05 48 3d 00 f0 ff ff 77 1c f4 89 f0 0f 05 <48> 3d 00 f0 ff ff 76 e7 f7 d8 64 41 89 00 eb df 0f 1f 80 00 00 00
RSP: 002b:00007ffe0c959208 EFLAGS: 00000246 ORIG_RAX: 00000000000000e7
RAX: ffffffffffffffda RBX: 00007f5dc8d4f210 RCX: 00007f5dc8cc4dd9
RDX: 000000000000003c RSI: 00000000000000e7 RDI: 0000000000000000
RBP: 0000000000000000 R08: ffffffffffffffb8 R09: 00007f5dc8d151cf
R10: 00007ffe0c959290 R11: 0000000000000246 R12: 00007f5dc8d4f210
R13: 0000000000000001 R14: 0000000000000000 R15: 0000000000000001
 </TASK>

Crashes (12):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2023/06/16 18:43 linux-next f7efed9f38f8 f3921d4d .config strace log report syz C [disk image] [vmlinux] [kernel image] ci-upstream-linux-next-kasan-gce-root possible deadlock in exit_itimers
2023/06/16 12:36 linux-next f7efed9f38f8 f3921d4d .config console log report syz [disk image] [vmlinux] [kernel image] ci-upstream-linux-next-kasan-gce-root possible deadlock in exit_itimers
2023/06/16 11:14 linux-next f7efed9f38f8 f3921d4d .config console log report syz [disk image] [vmlinux] [kernel image] ci-upstream-linux-next-kasan-gce-root possible deadlock in exit_itimers
2023/06/20 11:00 linux-next f7efed9f38f8 09ffe269 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-linux-next-kasan-gce-root possible deadlock in exit_itimers
2023/06/19 23:29 linux-next f7efed9f38f8 d521bc56 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-linux-next-kasan-gce-root possible deadlock in exit_itimers
2023/06/19 14:30 linux-next f7efed9f38f8 d521bc56 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-linux-next-kasan-gce-root possible deadlock in exit_itimers
2023/06/16 05:57 linux-next f7efed9f38f8 f3921d4d .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-linux-next-kasan-gce-root possible deadlock in exit_itimers
2023/06/16 05:54 linux-next f7efed9f38f8 f3921d4d .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-linux-next-kasan-gce-root possible deadlock in exit_itimers
2023/06/16 01:12 linux-next 925294c9aa18 757d26ed .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-linux-next-kasan-gce-root possible deadlock in exit_itimers
2023/06/15 16:06 linux-next 925294c9aa18 757d26ed .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-linux-next-kasan-gce-root possible deadlock in exit_itimers
2023/06/15 01:09 linux-next b16049b21162 76decb82 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-linux-next-kasan-gce-root possible deadlock in exit_itimers
2023/06/14 22:58 linux-next b16049b21162 76decb82 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-linux-next-kasan-gce-root possible deadlock in exit_itimers
* Struck through repros no longer work on HEAD.