INFO: task hung in lru_add_drain_all

From: syzbot
Date: Sat Jul 04 2020 - 19:22:34 EST


Hello,

syzbot found the following crash on:

HEAD commit: c28e58ee Add linux-next specific files for 20200629
git tree: linux-next
console output: https://syzkaller.appspot.com/x/log.txt?x=1400ab37100000
kernel config: https://syzkaller.appspot.com/x/.config?x=dcd26bbca17dd1db
dashboard link: https://syzkaller.appspot.com/bug?extid=1053252c4289b5f73548
compiler: gcc (GCC) 10.1.0-syz 20200507
syz repro: https://syzkaller.appspot.com/x/repro.syz?x=11c75c83100000
C reproducer: https://syzkaller.appspot.com/x/repro.c?x=11fd99e3100000

IMPORTANT: if you fix the bug, please add the following tag to the commit:
Reported-by: syzbot+1053252c4289b5f73548@xxxxxxxxxxxxxxxxxxxxxxxxx

INFO: task khugepaged:1160 blocked for more than 143 seconds.
Not tainted 5.8.0-rc3-next-20200629-syzkaller #0
"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
khugepaged D28584 1160 2 0x00004000
Call Trace:
context_switch kernel/sched/core.c:3445 [inline]
__schedule+0x8b4/0x1e80 kernel/sched/core.c:4169
schedule+0xd0/0x2a0 kernel/sched/core.c:4244
schedule_timeout+0x1d8/0x250 kernel/time/timer.c:1873
do_wait_for_common kernel/sched/completion.c:85 [inline]
__wait_for_common kernel/sched/completion.c:106 [inline]
wait_for_common kernel/sched/completion.c:117 [inline]
wait_for_completion+0x163/0x260 kernel/sched/completion.c:138
__flush_work+0x51f/0xab0 kernel/workqueue.c:3046
lru_add_drain_all+0x3ca/0x590 mm/swap.c:808
khugepaged_do_scan mm/khugepaged.c:2177 [inline]
khugepaged+0x10b/0x5a10 mm/khugepaged.c:2238
kthread+0x3b5/0x4a0 kernel/kthread.c:292
ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:294

Showing all locks held in the system:
6 locks held by kworker/0:0/5:
1 lock held by khungtaskd/1150:
#0: ffffffff89bc3000 (rcu_read_lock){....}-{1:2}, at: debug_show_all_locks+0x53/0x260 kernel/locking/lockdep.c:5779
1 lock held by khugepaged/1160:
#0: ffffffff89c48448 (lock#4){+.+.}-{3:3}, at: lru_add_drain_all+0x59/0x590 mm/swap.c:779
1 lock held by in:imklog/6654:
#0: ffff8880935425f0 (&f->f_pos_lock){+.+.}-{3:3}, at: __fdget_pos+0xe9/0x100 fs/file.c:928

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

NMI backtrace for cpu 1
CPU: 1 PID: 1150 Comm: khungtaskd Not tainted 5.8.0-rc3-next-20200629-syzkaller #0
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+0x18f/0x20d lib/dump_stack.c:118
nmi_cpu_backtrace.cold+0x70/0xb1 lib/nmi_backtrace.c:101
nmi_trigger_cpumask_backtrace+0x1b3/0x223 lib/nmi_backtrace.c:62
trigger_all_cpu_backtrace include/linux/nmi.h:147 [inline]
check_hung_uninterruptible_tasks kernel/hung_task.c:253 [inline]
watchdog+0xd89/0xf30 kernel/hung_task.c:339
kthread+0x3b5/0x4a0 kernel/kthread.c:292
ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:294
Sending NMI from CPU 1 to CPUs 0:
NMI backtrace for cpu 0
CPU: 0 PID: 5 Comm: kworker/0:0 Not tainted 5.8.0-rc3-next-20200629-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
Workqueue: usb_hub_wq hub_event
RIP: 0010:hid_apply_multiplier drivers/hid/hid-core.c:1106 [inline]
RIP: 0010:hid_setup_resolution_multiplier+0x3a3/0x9b0 drivers/hid/hid-core.c:1163
Code: b6 14 38 48 89 f8 83 e0 07 83 c0 03 38 d0 7c 08 84 d2 0f 85 df 04 00 00 45 8b 74 24 04 bf 02 00 00 00 44 89 f6 e8 6d 62 90 fb <41> 83 fe 02 0f 85 74 ff ff ff 4c 89 24 24 e8 da 65 90 fb 49 8d 7d
RSP: 0018:ffffc90000cbec18 EFLAGS: 00000293
RAX: 0000000000000000 RBX: 0000000000000000 RCX: ffffffff85e38373
RDX: 0000000000000000 RSI: ffff8880a9598140 RDI: 0000000000000005
RBP: ffff88809f43e800 R08: 0000000000000001 R09: ffffc900015ee0cc
R10: 0000000000000002 R11: 0000000000000000 R12: ffff88809f43e800
R13: ffff888085800000 R14: 0000000000000000 R15: dffffc0000000000
FS: 0000000000000000(0000) GS:ffff8880ae600000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 000055726aabf328 CR3: 00000000a0102000 CR4: 00000000001506f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
hid_open_report+0x438/0x640 drivers/hid/hid-core.c:1274
hid_parse include/linux/hid.h:1017 [inline]
ms_probe+0x12d/0x4b0 drivers/hid/hid-microsoft.c:388
hid_device_probe+0x2bd/0x3f0 drivers/hid/hid-core.c:2263
really_probe+0x282/0x8a0 drivers/base/dd.c:525
driver_probe_device+0xfe/0x1d0 drivers/base/dd.c:701
__device_attach_driver+0x1c2/0x220 drivers/base/dd.c:807
bus_for_each_drv+0x15f/0x1e0 drivers/base/bus.c:431
__device_attach+0x28d/0x3f0 drivers/base/dd.c:873
bus_probe_device+0x1e4/0x290 drivers/base/bus.c:491
device_add+0xacf/0x1b00 drivers/base/core.c:2680
hid_add_device+0x344/0x9b0 drivers/hid/hid-core.c:2419
usbhid_probe+0xac8/0xff0 drivers/hid/usbhid/hid-core.c:1412
usb_probe_interface+0x2f7/0x780 drivers/usb/core/driver.c:374
really_probe+0x282/0x8a0 drivers/base/dd.c:525
driver_probe_device+0xfe/0x1d0 drivers/base/dd.c:701
__device_attach_driver+0x1c2/0x220 drivers/base/dd.c:807
bus_for_each_drv+0x15f/0x1e0 drivers/base/bus.c:431
__device_attach+0x28d/0x3f0 drivers/base/dd.c:873
bus_probe_device+0x1e4/0x290 drivers/base/bus.c:491
device_add+0xacf/0x1b00 drivers/base/core.c:2680
usb_set_configuration+0xef6/0x17a0 drivers/usb/core/message.c:2032
usb_generic_driver_probe+0xba/0xf2 drivers/usb/core/generic.c:241
usb_probe_device+0xc6/0x210 drivers/usb/core/driver.c:272
really_probe+0x282/0x8a0 drivers/base/dd.c:525
driver_probe_device+0xfe/0x1d0 drivers/base/dd.c:701
__device_attach_driver+0x1c2/0x220 drivers/base/dd.c:807
bus_for_each_drv+0x15f/0x1e0 drivers/base/bus.c:431
__device_attach+0x28d/0x3f0 drivers/base/dd.c:873
bus_probe_device+0x1e4/0x290 drivers/base/bus.c:491
device_add+0xacf/0x1b00 drivers/base/core.c:2680
usb_new_device.cold+0x748/0x103b drivers/usb/core/hub.c:2554
hub_port_connect drivers/usb/core/hub.c:5208 [inline]
hub_port_connect_change drivers/usb/core/hub.c:5348 [inline]
port_event drivers/usb/core/hub.c:5494 [inline]
hub_event+0x2033/0x3e40 drivers/usb/core/hub.c:5576
process_one_work+0x94c/0x1670 kernel/workqueue.c:2269
worker_thread+0x64c/0x1120 kernel/workqueue.c:2415
kthread+0x3b5/0x4a0 kernel/kthread.c:292
ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:294
INFO: NMI handler (nmi_cpu_backtrace_handler) took too long to run: 0.000 msecs


---
This bug 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@xxxxxxxxxxxxxxxxx

syzbot will keep track of this bug report. See:
https://goo.gl/tpsmEJ#status for how to communicate with syzbot.
syzbot can test patches for this bug, for details see:
https://goo.gl/tpsmEJ#testing-patches