syzbot


INFO: task can't die in __fdget_pos

Status: auto-closed as invalid on 2022/04/12 09:48
Reported-by: syzbot+@syzkaller.appspotmail.com
First crash: 288d, last: 288d
similar bugs (1):
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream INFO: task hung in __fdget_pos (3) 3 413d 430d 0/24 auto-closed as invalid on 2022/01/07 10:38

Sample crash report:
INFO: task syz-executor.3:7251 can't die for more than 143 seconds.
task:syz-executor.3  state:D stack:29232 pid: 7251 ppid:  3622 flags:0x00000004
Call Trace:
 <TASK>
 context_switch kernel/sched/core.c:5000 [inline]
 __schedule+0xab2/0x4db0 kernel/sched/core.c:6309
 schedule+0xd2/0x1f0 kernel/sched/core.c:6381
 schedule_preempt_disabled+0xf/0x20 kernel/sched/core.c:6440
 __mutex_lock_common kernel/locking/mutex.c:673 [inline]
 __mutex_lock+0xa32/0x12f0 kernel/locking/mutex.c:733
 __fdget_pos+0xe9/0x100 fs/file.c:1034
 fdget_pos include/linux/file.h:75 [inline]
 __do_sys_getdents64 fs/readdir.c:365 [inline]
 __se_sys_getdents64 fs/readdir.c:354 [inline]
 __x64_sys_getdents64+0x10b/0x2c0 fs/readdir.c:354
 do_syscall_x64 arch/x86/entry/common.c:50 [inline]
 do_syscall_64+0x35/0xb0 arch/x86/entry/common.c:80
 entry_SYSCALL_64_after_hwframe+0x44/0xae
RIP: 0033:0x7fadc6530059
RSP: 002b:00007fadc5463168 EFLAGS: 00000246 ORIG_RAX: 00000000000000d9
RAX: ffffffffffffffda RBX: 00007fadc6643100 RCX: 00007fadc6530059
RDX: 0000000000000000 RSI: 0000000000000000 RDI: 000000000000000a
RBP: 00007fadc658a08d R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
R13: 00007ffd524a1a8f R14: 00007fadc5463300 R15: 0000000000022000
 </TASK>
INFO: task syz-executor.3:7251 blocked for more than 143 seconds.
      Not tainted 5.17.0-rc2-next-20220204-syzkaller #0
"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
task:syz-executor.3  state:D stack:29232 pid: 7251 ppid:  3622 flags:0x00000004
Call Trace:
 <TASK>
 context_switch kernel/sched/core.c:5000 [inline]
 __schedule+0xab2/0x4db0 kernel/sched/core.c:6309
 schedule+0xd2/0x1f0 kernel/sched/core.c:6381
 schedule_preempt_disabled+0xf/0x20 kernel/sched/core.c:6440
 __mutex_lock_common kernel/locking/mutex.c:673 [inline]
 __mutex_lock+0xa32/0x12f0 kernel/locking/mutex.c:733
 __fdget_pos+0xe9/0x100 fs/file.c:1034
 fdget_pos include/linux/file.h:75 [inline]
 __do_sys_getdents64 fs/readdir.c:365 [inline]
 __se_sys_getdents64 fs/readdir.c:354 [inline]
 __x64_sys_getdents64+0x10b/0x2c0 fs/readdir.c:354
 do_syscall_x64 arch/x86/entry/common.c:50 [inline]
 do_syscall_64+0x35/0xb0 arch/x86/entry/common.c:80
 entry_SYSCALL_64_after_hwframe+0x44/0xae
RIP: 0033:0x7fadc6530059
RSP: 002b:00007fadc5463168 EFLAGS: 00000246 ORIG_RAX: 00000000000000d9
RAX: ffffffffffffffda RBX: 00007fadc6643100 RCX: 00007fadc6530059
RDX: 0000000000000000 RSI: 0000000000000000 RDI: 000000000000000a
RBP: 00007fadc658a08d R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
R13: 00007ffd524a1a8f R14: 00007fadc5463300 R15: 0000000000022000
 </TASK>

Showing all locks held in the system:
1 lock held by khungtaskd/26:
 #0: ffffffff8bb83a60 (rcu_read_lock){....}-{1:2}, at: debug_show_all_locks+0x53/0x260 kernel/locking/lockdep.c:6463
2 locks held by getty/3269:
 #0: ffff888023dd3098 (&tty->ldisc_sem){++++}-{0:0}, at: tty_ldisc_ref_wait+0x22/0x80 drivers/tty/tty_ldisc.c:244
 #1: ffffc90002b662e8 (&ldata->atomic_read_lock){+.+.}-{3:3}, at: n_tty_read+0xcf0/0x1230 drivers/tty/n_tty.c:2077
2 locks held by syz-executor.3/7233:
 #0: ffff88807a0dc370 (&f->f_pos_lock){+.+.}-{3:3}, at: __fdget_pos+0xe9/0x100 fs/file.c:1034
 #1: ffff888070868208 (&sb->s_type->i_mutex_key#26){.+.+}-{3:3}, at: iterate_dir+0xcd/0x700 fs/readdir.c:55
1 lock held by syz-executor.3/7251:
 #0: ffff88807a0dc370 (&f->f_pos_lock){+.+.}-{3:3}, at: __fdget_pos+0xe9/0x100 fs/file.c:1034

=============================================

NMI backtrace for cpu 0
CPU: 0 PID: 26 Comm: khungtaskd Not tainted 5.17.0-rc2-next-20220204-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
Call Trace:
 <TASK>
 __dump_stack lib/dump_stack.c:88 [inline]
 dump_stack_lvl+0xcd/0x134 lib/dump_stack.c:106
 nmi_cpu_backtrace.cold+0x47/0x144 lib/nmi_backtrace.c:111
 nmi_trigger_cpumask_backtrace+0x1e6/0x230 lib/nmi_backtrace.c:62
 trigger_all_cpu_backtrace include/linux/nmi.h:146 [inline]
 check_hung_uninterruptible_tasks kernel/hung_task.c:256 [inline]
 watchdog+0xcb7/0xed0 kernel/hung_task.c:413
 kthread+0x2e9/0x3a0 kernel/kthread.c:377
 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:295
 </TASK>
Sending NMI from CPU 0 to CPUs 1:
NMI backtrace for cpu 1
CPU: 1 PID: 5203 Comm: kworker/u4:17 Not tainted 5.17.0-rc2-next-20220204-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
Workqueue: events_unbound toggle_allocation_gate
RIP: 0010:__lock_is_held kernel/locking/lockdep.c:5377 [inline]
RIP: 0010:lock_is_held_type+0x7a/0x140 kernel/locking/lockdep.c:5682
Code: 9c 8f 04 24 fa 48 c7 c7 60 5a ac 89 31 db e8 fd 0d 00 00 41 8b 84 24 60 0a 00 00 4d 8d ac 24 68 0a 00 00 65 ff 05 46 11 ab 76 <85> c0 7f 12 e9 8a 00 00 00 83 c3 01 41 3b 9c 24 60 0a 00 00 7d 7d
RSP: 0018:ffffc900041c7708 EFLAGS: 00000002
RAX: 0000000000000005 RBX: 0000000000000000 RCX: 0000000000000001
RDX: 0000000000000000 RSI: 0000000000000003 RDI: 0000000000000000
RBP: ffffffff8bb839a0 R08: 0000000000000000 R09: ffffffff8d94a4d7
R10: fffffbfff1b2949a R11: 0000000000000000 R12: ffff888022063a80
R13: ffff8880220644e8 R14: 00000000ffffffff R15: 0000000000000000
FS:  0000000000000000(0000) GS:ffff8880b9d00000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f5f59486600 CR3: 000000000b88e000 CR4: 00000000003506e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
 <TASK>
 lock_is_held include/linux/lockdep.h:283 [inline]
 rcu_read_lock_sched_held+0x3a/0x70 kernel/rcu/update.c:125
 trace_lock_acquire include/trace/events/lock.h:13 [inline]
 lock_acquire+0x442/0x510 kernel/locking/lockdep.c:5610
 do_write_seqcount_begin_nested include/linux/seqlock.h:520 [inline]
 do_write_seqcount_begin include/linux/seqlock.h:545 [inline]
 vtime_task_switch_generic+0xb5/0x5a0 kernel/sched/cputime.c:769
 vtime_task_switch include/linux/vtime.h:95 [inline]
 finish_task_switch.isra.0+0x6cf/0xb80 kernel/sched/core.c:4874
 context_switch kernel/sched/core.c:5003 [inline]
 __schedule+0xaba/0x4db0 kernel/sched/core.c:6309
 preempt_schedule_common+0x45/0xc0 kernel/sched/core.c:6474
 preempt_schedule_thunk+0x16/0x18 arch/x86/entry/thunk_64.S:35
 on_each_cpu_cond_mask+0x8d/0xa0 kernel/smp.c:1136
 on_each_cpu include/linux/smp.h:71 [inline]
 text_poke_sync arch/x86/kernel/alternative.c:1112 [inline]
 text_poke_bp_batch+0x30d/0x4e0 arch/x86/kernel/alternative.c:1353
 text_poke_flush arch/x86/kernel/alternative.c:1470 [inline]
 text_poke_flush arch/x86/kernel/alternative.c:1467 [inline]
 text_poke_finish+0x16/0x30 arch/x86/kernel/alternative.c:1477
 arch_jump_label_transform_apply+0x13/0x20 arch/x86/kernel/jump_label.c:146
 jump_label_update+0x1da/0x400 kernel/jump_label.c:830
 static_key_enable_cpuslocked+0x1b1/0x260 kernel/jump_label.c:177
 static_key_enable+0x16/0x20 kernel/jump_label.c:190
 toggle_allocation_gate mm/kfence/core.c:734 [inline]
 toggle_allocation_gate+0x100/0x390 mm/kfence/core.c:726
 process_one_work+0x996/0x1610 kernel/workqueue.c:2289
 worker_thread+0x665/0x1080 kernel/workqueue.c:2436
 kthread+0x2e9/0x3a0 kernel/kthread.c:377
 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:295
 </TASK>
----------------
Code disassembly (best guess):
   0:	9c                   	pushfq
   1:	8f 04 24             	popq   (%rsp)
   4:	fa                   	cli
   5:	48 c7 c7 60 5a ac 89 	mov    $0xffffffff89ac5a60,%rdi
   c:	31 db                	xor    %ebx,%ebx
   e:	e8 fd 0d 00 00       	callq  0xe10
  13:	41 8b 84 24 60 0a 00 	mov    0xa60(%r12),%eax
  1a:	00
  1b:	4d 8d ac 24 68 0a 00 	lea    0xa68(%r12),%r13
  22:	00
  23:	65 ff 05 46 11 ab 76 	incl   %gs:0x76ab1146(%rip)        # 0x76ab1170
* 2a:	85 c0                	test   %eax,%eax <-- trapping instruction
  2c:	7f 12                	jg     0x40
  2e:	e9 8a 00 00 00       	jmpq   0xbd
  33:	83 c3 01             	add    $0x1,%ebx
  36:	41 3b 9c 24 60 0a 00 	cmp    0xa60(%r12),%ebx
  3d:	00
  3e:	7d 7d                	jge    0xbd

Crashes (1):
Manager Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Title
ci-upstream-linux-next-kasan-gce-root 2022/02/11 09:46 linux-next ef6b35306dd8 0b33604d .config log report info INFO: task can't die in __fdget_pos
* Struck through repros no longer work on HEAD.