lkml.org 
[lkml]   [2022]   [Jul]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Date
SubjectINFO: task hung in __floppy_read_block_0
Hi,

We would like to report the following bug which has been found by our
modified version of syzkaller.

======================================================
description: INFO: task hung in __floppy_read_block_0
affected file: drivers/block/floppy.c
kernel version: 5.19-rc6
kernel commit: 32346491ddf24599decca06190ebca03ff9de7f8
git tree: upstream
kernel config: https://syzkaller.appspot.com/text?tag=KernelConfig&x=cd73026ceaed1402
crash reproducer: attached
======================================================
Crash log:
======================================================
INFO: task syz-executor.1:9482 blocked for more than 143 seconds.
Tainted: G OE 5.19.0-rc6-g2eae0556bb9d #2
"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
task:syz-executor.1 state:D stack:27528 pid: 9482 ppid: 5005 flags:0x00004004
Call Trace:
<TASK>
context_switch kernel/sched/core.c:5146 [inline]
__schedule+0xa76/0x5140 kernel/sched/core.c:6458
schedule+0xd2/0x1f0 kernel/sched/core.c:6530
schedule_timeout+0x5e5/0x890 kernel/time/timer.c:1911
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+0x182/0x360 kernel/sched/completion.c:138
__floppy_read_block_0+0x1dd/0x290 drivers/block/floppy.c:4162
floppy_revalidate+0x74f/0xa90 drivers/block/floppy.c:4206
invalidate_drive+0xeb/0x120 drivers/block/floppy.c:3219
fd_locked_ioctl+0xac1/0x1720 drivers/block/floppy.c:3467
fd_ioctl+0x35/0x50 drivers/block/floppy.c:3574
blkdev_ioctl+0x36e/0x800 block/ioctl.c:614
vfs_ioctl fs/ioctl.c:51 [inline]
__do_sys_ioctl fs/ioctl.c:870 [inline]
__se_sys_ioctl fs/ioctl.c:856 [inline]
__x64_sys_ioctl+0x193/0x200 fs/ioctl.c:856
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+0x46/0xb0
RIP: 0033:0x7fa70548d4ed
RSP: 002b:00007fa706530be8 EFLAGS: 00000246
ORIG_RAX: 0000000000000010
RAX: ffffffffffffffda RBX: 00007fa7055abf60 RCX: 00007fa70548d4ed
RDX: 0000000000000000 RSI: 0000000000000241 RDI: 0000000000000003
RBP: 00007fa7054f92e1 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
R13: 00007fff9363b3ef R14: 00007fa7055abf60 R15: 00007fa706530d80
</TASK>
INFO: task syz-executor.1:9490 blocked for more than 143 seconds.
Tainted: G OE 5.19.0-rc6-g2eae0556bb9d #2
"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
task:syz-executor.1 state:D stack:28120 pid: 9490 ppid: 5005 flags:0x00000004
Call Trace:
<TASK>
context_switch kernel/sched/core.c:5146 [inline]
__schedule+0xa76/0x5140 kernel/sched/core.c:6458
schedule+0xd2/0x1f0 kernel/sched/core.c:6530
schedule_preempt_disabled+0xf/0x20 kernel/sched/core.c:6589
__mutex_lock_common kernel/locking/mutex.c:679 [inline]
__mutex_lock+0xfa9/0x1f50 kernel/locking/mutex.c:747
blkdev_get_by_dev block/bdev.c:814 [inline]
blkdev_get_by_dev+0x241/0xae0 block/bdev.c:787
blkdev_open+0x13c/0x2c0 block/fops.c:481
do_dentry_open+0x4a1/0x11f0 fs/open.c:848
do_open fs/namei.c:3520 [inline]
path_openat+0x1c51/0x2890 fs/namei.c:3653
do_filp_open+0x1c1/0x290 fs/namei.c:3680
do_sys_openat2+0x61b/0x990 fs/open.c:1278
do_sys_open+0xc3/0x140 fs/open.c:1294
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+0x46/0xb0
RIP: 0033:0x7fa70543caf4
RSP: 002b:00007fa70650f710 EFLAGS: 00000293 ORIG_RAX: 0000000000000101
RAX: ffffffffffffffda RBX: 6666666666666667 RCX: 00007fa70543caf4
RDX: 0000000000000003 RSI: 00007fa70650f7b0 RDI: 00000000ffffff9c
RBP: 00007fa70650f7b0 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000293 R12: 0000000000000003
R13: 00007fff9363b3ef R14: 00007fa7055ac040 R15: 00007fa70650fd80
</TASK>
INFO: task syz-executor.1:9498 blocked for more than 143 seconds.
Tainted: G OE 5.19.0-rc6-g2eae0556bb9d #2
"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
task:syz-executor.1 state:D stack:29272 pid: 9498 ppid: 5005 flags:0x00000004
Call Trace:
<TASK>
context_switch kernel/sched/core.c:5146 [inline]
__schedule+0xa76/0x5140 kernel/sched/core.c:6458
schedule+0xd2/0x1f0 kernel/sched/core.c:6530
schedule_preempt_disabled+0xf/0x20 kernel/sched/core.c:6589
__mutex_lock_common kernel/locking/mutex.c:679 [inline]
__mutex_lock+0xfa9/0x1f50 kernel/locking/mutex.c:747
fd_ioctl+0x25/0x50 drivers/block/floppy.c:3573
blkdev_ioctl+0x36e/0x800 block/ioctl.c:614
vfs_ioctl fs/ioctl.c:51 [inline]
__do_sys_ioctl fs/ioctl.c:870 [inline]
__se_sys_ioctl fs/ioctl.c:856 [inline]
__x64_sys_ioctl+0x193/0x200 fs/ioctl.c:856
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+0x46/0xb0
RIP: 0033:0x7fa70548d4ed
RSP: 002b:00007fa703a8bbe8 EFLAGS: 00000246
ORIG_RAX: 0000000000000010
RAX: ffffffffffffffda RBX: 00007fa7055ac120 RCX: 00007fa70548d4ed
RDX: 0000000000000000 RSI: 0000000000000246 RDI: 0000000000000003
RBP: 00007fa7054f92e1 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
R13: 00007fff9363b3ef R14: 00007fa7055ac120 R15: 00007fa703a8bd80
</TASK>
INFO: task syz-executor.1:9506 blocked for more than 143 seconds.
Tainted: G OE 5.19.0-rc6-g2eae0556bb9d #2
"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
task:syz-executor.1 state:D
stack:29272 pid: 9506 ppid: 5005 flags:0x00000004
Call Trace:
<TASK>
context_switch kernel/sched/core.c:5146 [inline]
__schedule+0xa76/0x5140 kernel/sched/core.c:6458
schedule+0xd2/0x1f0 kernel/sched/core.c:6530
schedule_preempt_disabled+0xf/0x20 kernel/sched/core.c:6589
__mutex_lock_common kernel/locking/mutex.c:679 [inline]
__mutex_lock+0xfa9/0x1f50 kernel/locking/mutex.c:747
fd_ioctl+0x25/0x50 drivers/block/floppy.c:3573
blkdev_ioctl+0x36e/0x800 block/ioctl.c:614
vfs_ioctl fs/ioctl.c:51 [inline]
__do_sys_ioctl fs/ioctl.c:870 [inline]
__se_sys_ioctl fs/ioctl.c:856 [inline]
__x64_sys_ioctl+0x193/0x200 fs/ioctl.c:856
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+0x46/0xb0
RIP: 0033:0x7fa70548d4ed
RSP: 002b:00007fa70386abe8 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
RAX: ffffffffffffffda RBX: 00007fa7055ac200 RCX: 00007fa70548d4ed
RDX: 0000000000000000 RSI: 0000000000000247 RDI: 0000000000000003
RBP: 00007fa7054f92e1 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
R13: 00007fff9363b3ef R14: 00007fa7055ac200 R15: 00007fa70386ad80
</TASK>
INFO: task syz-executor.1:9523 blocked for more than 143 seconds.
Tainted: G OE 5.19.0-rc6-g2eae0556bb9d #2
"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
task:syz-executor.1 state:D
stack:28120 pid: 9523 ppid: 5005 flags:0x00000004
Call Trace:
<TASK>
context_switch kernel/sched/core.c:5146 [inline]
__schedule+0xa76/0x5140 kernel/sched/core.c:6458
schedule+0xd2/0x1f0 kernel/sched/core.c:6530
schedule_preempt_disabled+0xf/0x20 kernel/sched/core.c:6589
__mutex_lock_common kernel/locking/mutex.c:679 [inline]
__mutex_lock+0xfa9/0x1f50 kernel/locking/mutex.c:747
blkdev_get_by_dev block/bdev.c:814 [inline]
blkdev_get_by_dev+0x241/0xae0 block/bdev.c:787
blkdev_open+0x13c/0x2c0 block/fops.c:481
do_dentry_open+0x4a1/0x11f0 fs/open.c:848
do_open fs/namei.c:3520 [inline]
path_openat+0x1c51/0x2890 fs/namei.c:3653
do_filp_open+0x1c1/0x290 fs/namei.c:3680
do_sys_openat2+0x61b/0x990 fs/open.c:1278
do_sys_open+0xc3/0x140 fs/open.c:1294
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+0x46/0xb0
RIP: 0033:0x7fa70543caf4
RSP: 002b:00007fa703649710 EFLAGS: 00000293 ORIG_RAX: 0000000000000101
RAX: ffffffffffffffda RBX: 6666666666666667 RCX: 00007fa70543caf4
RDX: 0000000000000003 RSI: 00007fa7036497b0 RDI: 00000000ffffff9c
RBP: 00007fa7036497b0 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000293 R12: 0000000000000003
R13: 00007fff9363b3ef R14: 00007fa7055ac2e0 R15: 00007fa703649d80
</TASK>
INFO: task syz-executor.1:9526 blocked for more than 143 seconds.
Tainted: G OE 5.19.0-rc6-g2eae0556bb9d #2
"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
task:syz-executor.1 state:D stack:28120 pid: 9526 ppid: 5005 flags:0x00000004
Call Trace:
<TASK>
context_switch kernel/sched/core.c:5146 [inline]
__schedule+0xa76/0x5140 kernel/sched/core.c:6458
schedule+0xd2/0x1f0 kernel/sched/core.c:6530
schedule_preempt_disabled+0xf/0x20 kernel/sched/core.c:6589
__mutex_lock_common kernel/locking/mutex.c:679 [inline]
__mutex_lock+0xfa9/0x1f50 kernel/locking/mutex.c:747
blkdev_get_by_dev block/bdev.c:814 [inline]
blkdev_get_by_dev+0x241/0xae0 block/bdev.c:787
blkdev_open+0x13c/0x2c0 block/fops.c:481
do_dentry_open+0x4a1/0x11f0 fs/open.c:848
do_open fs/namei.c:3520 [inline]
path_openat+0x1c51/0x2890 fs/namei.c:3653
do_filp_open+0x1c1/0x290 fs/namei.c:3680
do_sys_openat2+0x61b/0x990 fs/open.c:1278
do_sys_open+0xc3/0x140 fs/open.c:1294
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+0x46/0xb0
RIP: 0033:0x7fa70543caf4
RSP: 002b:00007fa703428710 EFLAGS: 00000293 ORIG_RAX: 0000000000000101
RAX: ffffffffffffffda RBX: 6666666666666667 RCX: 00007fa70543caf4
RDX: 0000000000000003 RSI: 00007fa7034287b0 RDI: 00000000ffffff9c
RBP: 00007fa7034287b0 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000293 R12: 0000000000000003
R13: 00007fff9363b3ef R14: 00007fa7055ac3c0 R15: 00007fa703428d80
</TASK>
INFO: task syz-executor.1:9537 blocked for more than 143 seconds.
Tainted: G OE 5.19.0-rc6-g2eae0556bb9d #2
"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
task:syz-executor.1 state:D
stack:28584 pid: 9537 ppid: 5005 flags:0x00000004
Call Trace:
<TASK>
context_switch kernel/sched/core.c:5146 [inline]
__schedule+0xa76/0x5140 kernel/sched/core.c:6458
schedule+0xd2/0x1f0 kernel/sched/core.c:6530
schedule_preempt_disabled+0xf/0x20 kernel/sched/core.c:6589
__mutex_lock_common kernel/locking/mutex.c:679 [inline]
__mutex_lock+0xfa9/0x1f50 kernel/locking/mutex.c:747
fd_ioctl+0x25/0x50 drivers/block/floppy.c:3573
blkdev_ioctl+0x36e/0x800 block/ioctl.c:614
vfs_ioctl fs/ioctl.c:51 [inline]
__do_sys_ioctl fs/ioctl.c:870 [inline]
__se_sys_ioctl fs/ioctl.c:856 [inline]
__x64_sys_ioctl+0x193/0x200 fs/ioctl.c:856
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+0x46/0xb0
RIP: 0033:0x7fa70548d4ed
RSP: 002b:00007fa703207be8 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
RAX: ffffffffffffffda RBX: 00007fa7055ac4a0 RCX: 00007fa70548d4ed
RDX: 0000000020000200 RSI: 0000000040200242 RDI: 0000000000000003
RBP: 00007fa7054f92e1 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
R13: 00007fff9363b3ef R14: 00007fa7055ac4a0 R15: 00007fa703207d80
</TASK>
INFO: task syz-executor.6:9486 blocked for more than 143 seconds.
Tainted: G OE 5.19.0-rc6-g2eae0556bb9d #2
"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
task:syz-executor.6 state:D stack:28120 pid: 9486 ppid: 6033 flags:0x00000004
Call Trace:
<TASK>
context_switch kernel/sched/core.c:5146 [inline]
__schedule+0xa76/0x5140 kernel/sched/core.c:6458
schedule+0xd2/0x1f0 kernel/sched/core.c:6530
schedule_preempt_disabled+0xf/0x20 kernel/sched/core.c:6589
__mutex_lock_common kernel/locking/mutex.c:679 [inline]
__mutex_lock+0xfa9/0x1f50 kernel/locking/mutex.c:747
floppy_open+0x7f/0xdb0 drivers/block/floppy.c:3994
blkdev_get_whole+0x99/0x260 block/bdev.c:673
blkdev_get_by_dev block/bdev.c:823 [inline]
blkdev_get_by_dev+0x4a8/0xae0 block/bdev.c:787
blkdev_open+0x13c/0x2c0 block/fops.c:481
do_dentry_open+0x4a1/0x11f0 fs/open.c:848
do_open fs/namei.c:3520 [inline]
path_openat+0x1c51/0x2890 fs/namei.c:3653
do_filp_open+0x1c1/0x290 fs/namei.c:3680
do_sys_openat2+0x61b/0x990 fs/open.c:1278
do_sys_open+0xc3/0x140 fs/open.c:1294
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+0x46/0xb0
RIP: 0033:0x7f9e8623caf4
RSP: 002b:00007f9e8731f710 EFLAGS: 00000293 ORIG_RAX: 0000000000000101
RAX: ffffffffffffffda RBX: 6666666666666667 RCX: 00007f9e8623caf4
RDX: 0000000000000003 RSI: 00007f9e8731f7b0 RDI: 00000000ffffff9c
RBP: 00007f9e8731f7b0 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000293 R12: 0000000000000003
R13: 00007ffe6d243b2f R14: 00007f9e863abf60 R15: 00007f9e8731fd80
</TASK>
INFO: task syz-executor.5:9503 blocked for more than 143 seconds.
Tainted: G OE 5.19.0-rc6-g2eae0556bb9d #2
"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
task:syz-executor.5 state:D stack:28120 pid: 9503 ppid: 6502 flags:0x00004004
Call Trace:
<TASK>
context_switch kernel/sched/core.c:5146 [inline]
__schedule+0xa76/0x5140 kernel/sched/core.c:6458
schedule+0xd2/0x1f0 kernel/sched/core.c:6530
schedule_preempt_disabled+0xf/0x20 kernel/sched/core.c:6589
__mutex_lock_common kernel/locking/mutex.c:679 [inline]
__mutex_lock+0xfa9/0x1f50 kernel/locking/mutex.c:747
blkdev_get_by_dev block/bdev.c:814 [inline]
blkdev_get_by_dev+0x241/0xae0 block/bdev.c:787
blkdev_open+0x13c/0x2c0 block/fops.c:481
do_dentry_open+0x4a1/0x11f0 fs/open.c:848
do_open fs/namei.c:3520 [inline]
path_openat+0x1c51/0x2890 fs/namei.c:3653
do_filp_open+0x1c1/0x290 fs/namei.c:3680
do_sys_openat2+0x61b/0x990 fs/open.c:1278
do_sys_open+0xc3/0x140 fs/open.c:1294
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+0x46/0xb0
RIP: 0033:0x7fc9a783caf4
RSP: 002b:00007fc9a5f27710 EFLAGS: 00000293 ORIG_RAX: 0000000000000101
RAX: ffffffffffffffda RBX: 6666666666666667 RCX: 00007fc9a783caf4
RDX: 0000000000000000 RSI: 00007fc9a5f277b0 RDI: 00000000ffffff9c
RBP: 00007fc9a5f277b0 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000293 R12: 0000000000000000
R13: 00007ffda907f81f R14: 00007fc9a79abf60 R15: 00007fc9a5f27d80
</TASK>

Showing all locks held in the system:
2 locks held by kworker/u4:1/12:
1 lock held by khungtaskd/30:
#0: ffffffff8bd83aa0 (rcu_read_lock){....}-{1:2}, at:
debug_show_all_locks+0x53/0x260 kernel/locking/lockdep.c:6491
1 lock held by in:imklog/6573:
#0: ffff88810db62368 (&f->f_pos_lock){+.+.}-{3:3}, at:
__fdget_pos+0xe3/0x100 fs/file.c:1036
5 locks held by kworker/u4:4/8242:
#0: ffff888063c39ed8 (&rq->__lock){-.-.}-{2:2}, at:
raw_spin_rq_lock_nested+0x2b/0x120 kernel/sched/core.c:544
#1: ffff888063c277c8 (&per_cpu_ptr(group->pcpu,
cpu)->seq){-.-.}-{0:0}, at: process_one_work+0x8e4/0x1650
kernel/workqueue.c:2264
#2: ffffffff8bdbc198 (dma_spin_lock){-.-.}-{2:2}, at: claim_dma_lock
arch/x86/include/asm/dma.h:156 [inline]
#2: ffffffff8bdbc198 (dma_spin_lock){-.-.}-{2:2}, at: floppy_ready
drivers/block/floppy.c:1946 [inline]
#2: ffffffff8bdbc198 (dma_spin_lock){-.-.}-{2:2}, at:
floppy_ready+0xb27/0x19b0 drivers/block/floppy.c:1926
#3: ffff888063c28398 (&base->lock){-.-.}-{2:2}
, at: lock_timer_base+0x5a/0x1f0 kernel/time/timer.c:999
#4:
ffffffff911ba350
(&obj_hash[i].lock
){-.-.}-{2:2}, at: console_lock_spinning_disable_and_check
kernel/printk/printk.c:1830 [inline]
){-.-.}-{2:2}, at: console_emit_next_record.constprop.0+0x40a/0x840
kernel/printk/printk.c:2737
1 lock held by syz-executor.1/9482:
#0: ffffffff8c8f20e8 (floppy_mutex){+.+.}-{3:3}, at:
fd_ioctl+0x25/0x50 drivers/block/floppy.c:3573
1 lock held by syz-executor.1/9490:
#0: ffff8880174eb118 (
&disk->open_mutex){+.+.}-{3:3}, at: blkdev_get_by_dev block/bdev.c:814 [inline]
&disk->open_mutex){+.+.}-{3:3}, at: blkdev_get_by_dev+0x241/0xae0
block/bdev.c:787
1 lock held by syz-executor.1/9498:
#0: ffffffff8c8f20e8 (floppy_mutex){+.+.}-{3:3}, at:
fd_ioctl+0x25/0x50 drivers/block/floppy.c:3573
1 lock held by syz-executor.1/9506:
#0: ffffffff8c8f20e8 (floppy_mutex){+.+.}-{3:3}, at:
fd_ioctl+0x25/0x50 drivers/block/floppy.c:3573
1 lock held by syz-executor.1/9523:
#0:
ffff8880174eb118
(&disk->open_mutex){+.+.}-{3:3}, at: blkdev_get_by_dev
block/bdev.c:814 [inline]
(&disk->open_mutex){+.+.}-{3:3}, at: blkdev_get_by_dev+0x241/0xae0
block/bdev.c:787
1 lock held by syz-executor.1/9526:
#0: ffff8880174eb118 (&disk->open_mutex){+.+.}-{3:3}, at:
blkdev_get_by_dev block/bdev.c:814 [inline]
#0: ffff8880174eb118 (&disk->open_mutex){+.+.}-{3:3}, at:
blkdev_get_by_dev+0x241/0xae0 block/bdev.c:787
1 lock held by syz-executor.1/9537:
#0: ffffffff8c8f20e8 (floppy_mutex){+.+.}-{3:3}, at:
fd_ioctl+0x25/0x50 drivers/block/floppy.c:3573
2 locks held by syz-executor.6/9486:
#0: ffff8880174eb118 (&disk->open_mutex){+.+.}-{3:3}, at:
blkdev_get_by_dev block/bdev.c:814 [inline]
#0: ffff8880174eb118 (&disk->open_mutex){+.+.}-{3:3}, at:
blkdev_get_by_dev+0x241/0xae0 block/bdev.c:787
#1: ffffffff8c8f20e8 (floppy_mutex){+.+.}-{3:3}, at:
floppy_open+0x7f/0xdb0 drivers/block/floppy.c:3994
1 lock held by syz-executor.5/9503:
#0: ffff8880174eb118 (&disk->open_mutex){+.+.}-{3:3}, at:
blkdev_get_by_dev block/bdev.c:814 [inline]
#0: ffff8880174eb118 (&disk->open_mutex){+.+.}-{3:3}, at:
blkdev_get_by_dev+0x241/0xae0 block/bdev.c:787

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

NMI backtrace for cpu 1
CPU: 1 PID: 30 Comm: khungtaskd Tainted: G OE
5.19.0-rc6-g2eae0556bb9d #2
Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS
1.13.0-1ubuntu1.1 04/01/2014
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+0x1a1/0x1e0 lib/nmi_backtrace.c:62
trigger_all_cpu_backtrace include/linux/nmi.h:146 [inline]
check_hung_uninterruptible_tasks kernel/hung_task.c:212 [inline]
watchdog+0xcc8/0x1010 kernel/hung_task.c:369
kthread+0x2e9/0x3a0 kernel/kthread.c:376
ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:302
</TASK>
Sending NMI from CPU 1 to CPUs 0:
NMI backtrace for cpu 0
CPU: 0 PID: 6574 Comm: rs:main Q:Reg Tainted: G OE
5.19.0-rc6-g2eae0556bb9d #2
Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS
1.13.0-1ubuntu1.1 04/01/2014
RIP: 0010:__rq_lockp kernel/sched/sched.h:1179 [inline]
RIP: 0010:rq_pin_lock kernel/sched/sched.h:1525 [inline]
RIP: 0010:rq_lock_irqsave kernel/sched/sched.h:1587 [inline]
RIP: 0010:sched_ttwu_pending+0x114/0x570 kernel/sched/core.c:3741
Code: 00 00 00 00 00 00 00 9c 5d fa f7 c5 00 02 00 00 0f 85 12 03 00
00 31 f6 4c 89 ff e8 e6 ad fe ff 49 8d 87 58 0d 00 00 48 89 c2 <48> 89
44 24 08 48 b8 00 00 00 00 00 fc ff df 48 c1 ea 03 48 89 6c
RSP: 0018:ffffc90000007d90 EFLAGS: 00000093
RAX: ffff888063c3ac18 RBX: ffff88812cffd8b8 RCX: 0000000000000000
RDX: ffff888063c3ac18 RSI: 0000000000000003 RDI: 0000000000000001
RBP: 0000000000000046 R08: fffff52000000f9c R09: fffff52000000f9d
R10: 0000000000000000 R11: 0000000000000001 R12: 0000000000000000
R13: 1ffff92000000fb9 R14: ffff88812cffd8c0 R15: ffff888063c39ec0
FS: 00007f6eca9fd700(0000) GS:ffff888063c00000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f6ec0000000 CR3: 000000001700a000 CR4: 0000000000150ef0
Call Trace:
<IRQ>
__flush_smp_call_function_queue+0x451/0x9a0 kernel/smp.c:681
__sysvec_call_function_single+0x95/0x3e0 arch/x86/kernel/smp.c:248
sysvec_call_function_single+0x40/0xc0 arch/x86/kernel/smp.c:243
asm_sysvec_call_function_single+0x1b/0x20 arch/x86/include/asm/idtentry.h:657
RIP: 0010:__do_softirq+0x193/0x908 kernel/softirq.c:557
Code: 89 5c 24 08 48 89 44 24 18 48 c7 c7 60 1a cb 89 e8 d2 2d da ff
65 66 c7 05 f8 92 63 76 00 00 e8 b3 07 e1 f7 fb b8 ff ff ff ff <48> c7
c3 c0 a0 a0 8b 41 0f bc c5 41 89 c7 41 83 c7 01 0f 85 ad 00
RSP: 0018:ffffc90000007f80 EFLAGS: 00000206
RAX: 00000000ffffffff RBX: ffff88810a591d80 RCX: 1ffffffff20d7bd6
RDX: 0000000000000000 RSI: 0000000000000101 RDI: 0000000000000000
RBP: ffffc9000386f648 R08: 0000000000000001 R09: fffffbfff20d0135
R10: 0000000000000001 R11: 0000000000000001 R12: 0000000000000000
R13: 0000000000000080 R14: 0000000000000000 R15: 0000000000000000
invoke_softirq kernel/softirq.c:445 [inline]
__irq_exit_rcu kernel/softirq.c:650 [inline]
irq_exit_rcu+0xf2/0x130 kernel/softirq.c:662
sysvec_apic_timer_interrupt+0x93/0xc0 arch/x86/kernel/apic/apic.c:1106
</IRQ>
<TASK>
asm_sysvec_apic_timer_interrupt+0x1b/0x20 arch/x86/include/asm/idtentry.h:649
RIP: 0010:lock_is_held_type+0xff/0x140 kernel/locking/lockdep.c:5713
Code: 00 00 b8 ff ff ff ff 65 0f c1 05 14 57 88 76 83 f8 01 75 29 9c
58 f6 c4 02 75 3d 48 f7 04 24 00 02 00 00 74 01 fb 48 83 c4 08 <44> 89
e8 5b 5d 41 5c 41 5d 41 5e 41 5f c3 45 31 ed eb b9 0f 0b 48
RSP: 0018:ffffc9000386f6f0 EFLAGS: 00000296
RAX: 0000000000000046 RBX: 0000000000000004 RCX: 0000000000000001
RDX: 0000000000000000 RSI: 0000000000000001 RDI: 0000000000000000
RBP: ffffffff8bd839e0 R08: fffffbfff1b7619a R09: fffffbfff1b7619b
R10: 0000000000000001 R11: 000000000008a07a R12: ffff88810a591d80
R13: 0000000000000000 R14: 00000000ffffffff R15: ffff88810a592858
lock_is_held include/linux/lockdep.h:279 [inline]
rcu_read_lock_sched_held+0x9c/0xd0 kernel/rcu/update.c:125
trace_lock_release include/trace/events/lock.h:69 [inline]
lock_release+0x524/0x6d0 kernel/locking/lockdep.c:5676
rcu_lock_release include/linux/rcupdate.h:274 [inline]
rcu_read_unlock include/linux/rcupdate.h:728 [inline]
mapping_get_entry mm/filemap.c:1902 [inline]
__filemap_get_folio+0x345/0x1210 mm/filemap.c:1946
pagecache_get_page+0x2e/0x290 mm/folio-compat.c:126
ext4_da_write_begin+0x3f9/0xaf0 fs/ext4/inode.c:2977
generic_perform_write+0x240/0x570 mm/filemap.c:3779
ext4_buffered_write_iter+0x11d/0x2e0 fs/ext4/file.c:270
ext4_file_write_iter+0x448/0x14e0 fs/ext4/file.c:679
call_write_iter include/linux/fs.h:2058 [inline]
new_sync_write+0x393/0x570 fs/read_write.c:504
vfs_write+0x7c4/0xab0 fs/read_write.c:591
ksys_write+0x127/0x250 fs/read_write.c:644
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+0x46/0xb0
RIP: 0033:0x7f6ecf2101cd
Code: c2 20 00 00 75 10 b8 01 00 00 00 0f 05 48 3d 01 f0 ff ff 73 31
c3 48 83 ec 08 e8 ae fc ff ff 48 89 04 24 b8 01 00 00 00 0f 05 <48> 8b
3c 24 48 89 c2 e8 f7 fc ff ff 48 89 d0 48 83 c4 08 48 3d 01
RSP: 002b:00007f6eca9fc590 EFLAGS: 00000293 ORIG_RAX: 0000000000000001
RAX: ffffffffffffffda RBX: 00007f6ec00243f0 RCX: 00007f6ecf2101cd
RDX: 0000000000000310 RSI: 00007f6ec00243f0 RDI: 0000000000000009
RBP: 0000000000000000 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000293 R12: 00007f6ec0024170
R13: 00007f6eca9fc5b0 R14: 000055b91e051440 R15: 0000000000000310
</TASK>
----------------
Code disassembly (best guess), 1 bytes skipped:
0: 00 00 add %al,(%rax)
2: 00 00 add %al,(%rax)
4: 00 00 add %al,(%rax)
6: 9c pushfq
7: 5d pop %rbp
8: fa cli
9: f7 c5 00 02 00 00 test $0x200,%ebp
f: 0f 85 12 03 00 00 jne 0x327
15: 31 f6 xor %esi,%esi
17: 4c 89 ff mov %r15,%rdi
1a: e8 e6 ad fe ff callq 0xfffeae05
1f: 49 8d 87 58 0d 00 00 lea 0xd58(%r15),%rax
26: 48 89 c2 mov %rax,%rdx
* 29: 48 89 44 24 08 mov %rax,0x8(%rsp) <-- trapping instruction
2e: 48 b8 00 00 00 00 00 movabs $0xdffffc0000000000,%rax
35: fc ff df
38: 48 c1 ea 03 shr $0x3,%rdx
3c: 48 rex.W
3d: 89 .byte 0x89
3e: 6c insb (%dx),%es:(%rdi)

--
Thanks and Regards,

Dipanjan
[unhandled content-type:application/octet-stream]// autogenerated by syzkaller (https://github.com/google/syzkaller)

#define _GNU_SOURCE

#include <dirent.h>
#include <endian.h>
#include <errno.h>
#include <fcntl.h>
#include <signal.h>
#include <stdarg.h>
#include <stdbool.h>
#include <stdint.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/prctl.h>
#include <sys/stat.h>
#include <sys/syscall.h>
#include <sys/types.h>
#include <sys/wait.h>
#include <time.h>
#include <unistd.h>

static void sleep_ms(uint64_t ms)
{
usleep(ms * 1000);
}

static uint64_t current_time_ms(void)
{
struct timespec ts;
if (clock_gettime(CLOCK_MONOTONIC, &ts))
exit(1);
return (uint64_t)ts.tv_sec * 1000 + (uint64_t)ts.tv_nsec / 1000000;
}

static bool write_file(const char* file, const char* what, ...)
{
char buf[1024];
va_list args;
va_start(args, what);
vsnprintf(buf, sizeof(buf), what, args);
va_end(args);
buf[sizeof(buf) - 1] = 0;
int len = strlen(buf);
int fd = open(file, O_WRONLY | O_CLOEXEC);
if (fd == -1)
return false;
if (write(fd, buf, len) != len) {
int err = errno;
close(fd);
errno = err;
return false;
}
close(fd);
return true;
}

static long syz_open_dev(volatile long a0, volatile long a1, volatile long a2)
{
if (a0 == 0xc || a0 == 0xb) {
char buf[128];
sprintf(buf, "/dev/%s/%d:%d", a0 == 0xc ? "char" : "block", (uint8_t)a1, (uint8_t)a2);
return open(buf, O_RDWR, 0);
} else {
char buf[1024];
char* hash;
strncpy(buf, (char*)a0, sizeof(buf) - 1);
buf[sizeof(buf) - 1] = 0;
while ((hash = strchr(buf, '#'))) {
*hash = '0' + (char)(a1 % 10);
a1 /= 10;
}
return open(buf, a2, 0);
}
}

static void kill_and_wait(int pid, int* status)
{
kill(-pid, SIGKILL);
kill(pid, SIGKILL);
for (int i = 0; i < 100; i++) {
if (waitpid(-1, status, WNOHANG | __WALL) == pid)
return;
usleep(1000);
}
DIR* dir = opendir("/sys/fs/fuse/connections");
if (dir) {
for (;;) {
struct dirent* ent = readdir(dir);
if (!ent)
break;
if (strcmp(ent->d_name, ".") == 0 || strcmp(ent->d_name, "..") == 0)
continue;
char abort[300];
snprintf(abort, sizeof(abort), "/sys/fs/fuse/connections/%s/abort", ent->d_name);
int fd = open(abort, O_WRONLY);
if (fd == -1) {
continue;
}
if (write(fd, abort, 1) < 0) {
}
close(fd);
}
closedir(dir);
} else {
}
while (waitpid(-1, status, __WALL) != pid) {
}
}

static void setup_test()
{
prctl(PR_SET_PDEATHSIG, SIGKILL, 0, 0, 0);
setpgrp();
write_file("/proc/self/oom_score_adj", "1000");
}

static void execute_one(void);

#define WAIT_FLAGS __WALL

static void loop(void)
{
int iter = 0;
for (;; iter++) {
int pid = fork();
if (pid < 0)
exit(1);
if (pid == 0) {
setup_test();
execute_one();
exit(0);
}
int status = 0;
uint64_t start = current_time_ms();
for (;;) {
if (waitpid(-1, &status, WNOHANG | WAIT_FLAGS) == pid)
break;
sleep_ms(1);
if (current_time_ms() - start < 5000)
continue;
kill_and_wait(pid, &status);
break;
}
}
}

uint64_t r[2] = {0xffffffffffffffff, 0xffffffffffffffff};

void execute_one(void)
{
intptr_t res = 0;
memcpy((void*)0x200000c0, "/dev/fd#\000", 9);
res = -1;
res = syz_open_dev(0x200000c0, 0, 3);
if (res != -1)
r[0] = res;
*(uint8_t*)0x20000100 = 0x80;
*(uint64_t*)0x20000108 = 7;
*(uint64_t*)0x20000110 = 9;
*(uint64_t*)0x20000118 = 5;
*(uint64_t*)0x20000120 = 7;
*(uint64_t*)0x20000128 = 1;
*(uint64_t*)0x20000130 = 4;
*(uint8_t*)0x20000138 = 1;
*(uint8_t*)0x20000139 = 8;
*(uint8_t*)0x2000013a = 1;
*(uint8_t*)0x2000013b = 4;
*(uint64_t*)0x20000140 = 0x7fff;
*(uint8_t*)0x20000148 = 0x1a;
*(uint32_t*)0x2000014c = 0x7ff;
*(uint32_t*)0x20000150 = 2;
*(uint32_t*)0x20000154 = 0;
*(uint32_t*)0x20000158 = 0x800;
*(uint32_t*)0x2000015c = -1;
*(uint8_t*)0x20000160 = 0x20;
*(uint8_t*)0x20000161 = 7;
*(uint16_t*)0x20000162 = 8;
*(uint16_t*)0x20000164 = 2;
*(uint16_t*)0x20000166 = 9;
*(uint16_t*)0x20000168 = 4;
*(uint16_t*)0x2000016a = 0;
*(uint16_t*)0x2000016c = 8;
*(uint16_t*)0x2000016e = 1;
*(uint16_t*)0x20000170 = 0;
*(uint32_t*)0x20000174 = 0x2008;
*(uint32_t*)0x20000178 = 0;
syscall(__NR_ioctl, r[0], 0x40800290, 0x20000100ul);
memcpy((void*)0x200000c0, "/dev/fd#\000", 9);
res = -1;
res = syz_open_dev(0x200000c0, 0, 3);
if (res != -1)
r[1] = res;
syscall(__NR_ioctl, r[1], 0x249, 0);

}
int main(void)
{
syscall(__NR_mmap, 0x1ffff000ul, 0x1000ul, 0ul, 0x32ul, -1, 0ul);
syscall(__NR_mmap, 0x20000000ul, 0x1000000ul, 7ul, 0x32ul, -1, 0ul);
syscall(__NR_mmap, 0x21000000ul, 0x1000ul, 0ul, 0x32ul, -1, 0ul);
loop();
return 0;
}
\
 
 \ /
  Last update: 2022-07-28 00:01    [W:0.092 / U:0.292 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site