[v5.15] INFO: task hung in __get_metapage (2)

0 views
Skip to first unread message

syzbot

unread,
Apr 6, 2024, 2:07:30 PMApr 6
to syzkaller...@googlegroups.com
Hello,

syzbot found the following issue on:

HEAD commit: 9465fef4ae35 Linux 5.15.153
git tree: linux-5.15.y
console output: https://syzkaller.appspot.com/x/log.txt?x=12c50955180000
kernel config: https://syzkaller.appspot.com/x/.config?x=176c746ee3348b33
dashboard link: https://syzkaller.appspot.com/bug?extid=02652caa999f98dede40
compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40

Unfortunately, I don't have any reproducer for this issue yet.

Downloadable assets:
disk image: https://storage.googleapis.com/syzbot-assets/2962c02652ce/disk-9465fef4.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/d0f5a1ce082d/vmlinux-9465fef4.xz
kernel image: https://storage.googleapis.com/syzbot-assets/86b5b1eea636/bzImage-9465fef4.xz

IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by: syzbot+02652c...@syzkaller.appspotmail.com

INFO: task jfsCommit:274 blocked for more than 143 seconds.
Not tainted 5.15.153-syzkaller #0
"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
task:jfsCommit state:D stack:25984 pid: 274 ppid: 2 flags:0x00004000
Call Trace:
<TASK>
context_switch kernel/sched/core.c:5030 [inline]
__schedule+0x12c4/0x45b0 kernel/sched/core.c:6376
schedule+0x11b/0x1f0 kernel/sched/core.c:6459
io_schedule+0x88/0x100 kernel/sched/core.c:8484
__lock_metapage+0x1ec/0x3c0 fs/jfs/jfs_metapage.c:49
lock_metapage fs/jfs/jfs_metapage.c:63 [inline]
__get_metapage+0x495/0x1070 fs/jfs/jfs_metapage.c:640
diIAGRead+0xcb/0x130 fs/jfs/jfs_imap.c:2669
diFree+0xa7a/0x2fb0 fs/jfs/jfs_imap.c:956
jfs_evict_inode+0x329/0x440 fs/jfs/inode.c:156
evict+0x2a4/0x620 fs/inode.c:587
txUpdateMap+0x825/0x9e0 fs/jfs/jfs_txnmgr.c:2401
txLazyCommit fs/jfs/jfs_txnmgr.c:2698 [inline]
jfs_lazycommit+0x470/0xc30 fs/jfs/jfs_txnmgr.c:2766
kthread+0x3f6/0x4f0 kernel/kthread.c:319
ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:298
</TASK>

Showing all locks held in the system:
1 lock held by khungtaskd/27:
#0: ffffffff8c91f720 (rcu_read_lock){....}-{1:2}, at: rcu_lock_acquire+0x0/0x30
2 locks held by jfsCommit/274:
#0: ffff888058868920 (&(imap->im_aglock[index])){+.+.}-{3:3}, at: diFree+0x378/0x2fb0 fs/jfs/jfs_imap.c:886
#1: ffff88805b03af78 (&jfs_ip->rdwrlock/1){.+.+}-{3:3}, at: diFree+0x394/0x2fb0 fs/jfs/jfs_imap.c:891
3 locks held by kworker/0:2/1065:
#0: ffff8881423bf538 ((wq_completion)usb_hub_wq){+.+.}-{0:0}, at: process_one_work+0x78a/0x10c0 kernel/workqueue.c:2283
#1: ffffc90004b4fd20 ((work_completion)(&hub->events)){+.+.}-{0:0}, at: process_one_work+0x7d0/0x10c0 kernel/workqueue.c:2285
#2: ffff888147b42220 (&dev->mutex){....}-{3:3}, at: device_lock include/linux/device.h:760 [inline]
#2: ffff888147b42220 (&dev->mutex){....}-{3:3}, at: hub_event+0x208/0x54c0 drivers/usb/core/hub.c:5759
2 locks held by getty/3259:
#0: ffff88814ae29098 (&tty->ldisc_sem){++++}-{0:0}, at: tty_ldisc_ref_wait+0x21/0x70 drivers/tty/tty_ldisc.c:252
#1: ffffc90002bab2e8 (&ldata->atomic_read_lock){+.+.}-{3:3}, at: n_tty_read+0x6af/0x1db0 drivers/tty/n_tty.c:2158
3 locks held by kworker/0:3/3303:
#0: ffff8881423bf538 ((wq_completion)usb_hub_wq){+.+.}-{0:0}, at: process_one_work+0x78a/0x10c0 kernel/workqueue.c:2283
#1: ffffc90002d97d20 ((work_completion)(&hub->events)){+.+.}-{0:0}, at: process_one_work+0x7d0/0x10c0 kernel/workqueue.c:2285
#2: ffff888147baa220 (&dev->mutex){....}-{3:3}, at: device_lock include/linux/device.h:760 [inline]
#2: ffff888147baa220 (&dev->mutex){....}-{3:3}, at: hub_event+0x208/0x54c0 drivers/usb/core/hub.c:5759
6 locks held by kworker/0:17/4003:
#0: ffff8881423bf538 ((wq_completion)usb_hub_wq){+.+.}-{0:0}, at: process_one_work+0x78a/0x10c0 kernel/workqueue.c:2283
#1: ffffc90004677d20 ((work_completion)(&hub->events)){+.+.}-{0:0}, at: process_one_work+0x7d0/0x10c0 kernel/workqueue.c:2285
#2: ffff88801ebe2220 (&dev->mutex){....}-{3:3}, at: device_lock include/linux/device.h:760 [inline]
#2: ffff88801ebe2220 (&dev->mutex){....}-{3:3}, at: hub_event+0x208/0x54c0 drivers/usb/core/hub.c:5759
#3: ffff88801ebe55c0 (&port_dev->status_lock){+.+.}-{3:3}, at: usb_lock_port drivers/usb/core/hub.c:3116 [inline]
#3: ffff88801ebe55c0 (&port_dev->status_lock){+.+.}-{3:3}, at: hub_port_connect drivers/usb/core/hub.c:5341 [inline]
#3: ffff88801ebe55c0 (&port_dev->status_lock){+.+.}-{3:3}, at: hub_port_connect_change drivers/usb/core/hub.c:5585 [inline]
#3: ffff88801ebe55c0 (&port_dev->status_lock){+.+.}-{3:3}, at: port_event drivers/usb/core/hub.c:5731 [inline]
#3: ffff88801ebe55c0 (&port_dev->status_lock){+.+.}-{3:3}, at: hub_event+0x2238/0x54c0 drivers/usb/core/hub.c:5813
#4: ffff8880b9a27848 (&per_cpu_ptr(group->pcpu, cpu)->seq){-.-.}-{0:0}, at: psi_task_switch+0x53d/0x810 kernel/sched/psi.c:891
#5: ffffffff916651e0 (&obj_hash[i].lock){-.-.}-{2:2}, at: debug_object_activate+0x63/0x4e0 lib/debugobjects.c:693
3 locks held by kworker/1:11/4270:
#0: ffff8881423bf538 ((wq_completion)usb_hub_wq){+.+.}-{0:0}, at: process_one_work+0x78a/0x10c0 kernel/workqueue.c:2283
#1: ffffc90004297d20 ((work_completion)(&hub->events)){+.+.}-{0:0}, at: process_one_work+0x7d0/0x10c0 kernel/workqueue.c:2285
#2: ffff888147b92220 (&dev->mutex){....}-{3:3}, at: device_lock include/linux/device.h:760 [inline]
#2: ffff888147b92220 (&dev->mutex){....}-{3:3}, at: hub_event+0x208/0x54c0 drivers/usb/core/hub.c:5759
3 locks held by kworker/1:17/4281:
#0: ffff888011c70938 ((wq_completion)events){+.+.}-{0:0}, at: process_one_work+0x78a/0x10c0 kernel/workqueue.c:2283
#1:
ffffc90004b5fd20
((work_completion)(&data->fib_event_work)){+.+.}-{0:0}, at: process_one_work+0x7d0/0x10c0 kernel/workqueue.c:2285
#2: ffff888074199240 (&data->fib_lock){+.+.}-{3:3}, at: nsim_fib_event_work+0x2cd/0x4120 drivers/net/netdevsim/fib.c:1478
2 locks held by udevd/4652:
2 locks held by udevd/4665:
#0: ffff8880b9b3a318 (&rq->__lock){-.-.}-{2:2}, at: raw_spin_rq_lock_nested+0x26/0x140 kernel/sched/core.c:475
#1: ffff8880b9b27848 (&per_cpu_ptr(group->pcpu, cpu)->seq){-.-.}-{0:0}, at: psi_task_switch+0x53d/0x810 kernel/sched/psi.c:891
2 locks held by syz-executor.1/6100:
#0: ffffffff8d3f7b88 (wdm_mutex){+.+.}-{3:3}, at: wdm_release+0x4e/0x450 drivers/usb/class/cdc-wdm.c:764
#1: ffff888147b455c0 (&port_dev->status_lock){+.+.}-{3:3}, at: usb_lock_port drivers/usb/core/hub.c:3116 [inline]
#1: ffff888147b455c0 (&port_dev->status_lock){+.+.}-{3:3}, at: usb_port_resume+0x2cd/0x21b0 drivers/usb/core/hub.c:3674

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

NMI backtrace for cpu 0
CPU: 0 PID: 27 Comm: khungtaskd Not tainted 5.15.153-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 03/27/2024
Call Trace:
<TASK>
__dump_stack lib/dump_stack.c:88 [inline]
dump_stack_lvl+0x1e3/0x2cb lib/dump_stack.c:106
nmi_cpu_backtrace+0x46a/0x4a0 lib/nmi_backtrace.c:111
nmi_trigger_cpumask_backtrace+0x181/0x2a0 lib/nmi_backtrace.c:62
trigger_all_cpu_backtrace include/linux/nmi.h:148 [inline]
check_hung_uninterruptible_tasks kernel/hung_task.c:210 [inline]
watchdog+0xe72/0xeb0 kernel/hung_task.c:295
kthread+0x3f6/0x4f0 kernel/kthread.c:319
ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:298
</TASK>
Sending NMI from CPU 0 to CPUs 1:
NMI backtrace for cpu 1
CPU: 1 PID: 3700 Comm: kworker/u4:6 Not tainted 5.15.153-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 03/27/2024
Workqueue: phy7 ieee80211_iface_work
RIP: 0010:get_current arch/x86/include/asm/current.h:15 [inline]
RIP: 0010:__sanitizer_cov_trace_pc+0x4/0x60 kernel/kcov.c:196
Code: 00 00 00 0f 1f 00 53 48 89 fb e8 17 00 00 00 48 8b 3d b8 5d 63 0c 48 89 de 5b e9 d7 e7 48 00 cc cc cc cc cc cc cc 48 8b 04 24 <65> 48 8b 0d 04 36 82 7e 65 8b 15 05 36 82 7e f7 c2 00 01 ff 00 74
RSP: 0018:ffffc90002b87b78 EFLAGS: 00000246
RAX: ffffffff882d62cc RBX: 0000000000000000 RCX: ffff888018e4d940
RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000000
RBP: 1ffff1100a25bc0b R08: ffffffff882d628b R09: fffffbfff1bc72a6
R10: 0000000000000000 R11: dffffc0000000001 R12: dffffc0000000000
R13: dffffc0000000000 R14: ffff8880512de000 R15: ffff8880512de060
FS: 0000000000000000(0000) GS:ffff8880b9b00000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000000020753030 CR3: 0000000061ffc000 CR4: 00000000003526e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
<NMI>
</NMI>
<TASK>
nf_conntrack_put include/linux/netfilter/nf_conntrack_common.h:36 [inline]
skb_release_head_state+0x16c/0x230 net/core/skbuff.c:732
skb_release_all net/core/skbuff.c:740 [inline]
__kfree_skb net/core/skbuff.c:756 [inline]
kfree_skb_reason+0x82/0x170 net/core/skbuff.c:776
kfree_skb include/linux/skbuff.h:1123 [inline]
ieee80211_iface_work+0x251/0xcc0 net/mac80211/iface.c:1497
process_one_work+0x8a1/0x10c0 kernel/workqueue.c:2310
worker_thread+0xaca/0x1280 kernel/workqueue.c:2457
kthread+0x3f6/0x4f0 kernel/kthread.c:319
ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:298
</TASK>


---
This report 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 syzk...@googlegroups.com.

syzbot will keep track of this issue. See:
https://goo.gl/tpsmEJ#status for how to communicate with syzbot.

If the report is already addressed, let syzbot know by replying with:
#syz fix: exact-commit-title

If you want to overwrite report's subsystems, reply with:
#syz set subsystems: new-subsystem
(See the list of subsystem names on the web dashboard)

If the report is a duplicate of another one, reply with:
#syz dup: exact-subject-of-another-report

If you want to undo deduplication, reply with:
#syz undup

syzbot

unread,
Apr 7, 2024, 10:38:25 PMApr 7
to syzkaller...@googlegroups.com
syzbot has found a reproducer for the following issue on:

HEAD commit: 9465fef4ae35 Linux 5.15.153
git tree: linux-5.15.y
console output: https://syzkaller.appspot.com/x/log.txt?x=1773a955180000
kernel config: https://syzkaller.appspot.com/x/.config?x=176c746ee3348b33
dashboard link: https://syzkaller.appspot.com/bug?extid=02652caa999f98dede40
compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40
syz repro: https://syzkaller.appspot.com/x/repro.syz?x=109a7e99180000
C reproducer: https://syzkaller.appspot.com/x/repro.c?x=16874da9180000
mounted in repro: https://storage.googleapis.com/syzbot-assets/120667a56208/mount_0.gz

IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by: syzbot+02652c...@syzkaller.appspotmail.com

INFO: task jfsCommit:276 blocked for more than 143 seconds.
Not tainted 5.15.153-syzkaller #0
"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
task:jfsCommit state:D stack:25728 pid: 276 ppid: 2 flags:0x00004000
Call Trace:
<TASK>
context_switch kernel/sched/core.c:5030 [inline]
__schedule+0x12c4/0x45b0 kernel/sched/core.c:6376
schedule+0x11b/0x1f0 kernel/sched/core.c:6459
io_schedule+0x88/0x100 kernel/sched/core.c:8484
__lock_metapage+0x1ec/0x3c0 fs/jfs/jfs_metapage.c:49
lock_metapage fs/jfs/jfs_metapage.c:63 [inline]
__get_metapage+0x495/0x1070 fs/jfs/jfs_metapage.c:640
diIAGRead+0xcb/0x130 fs/jfs/jfs_imap.c:2669
diFree+0xa7a/0x2fb0 fs/jfs/jfs_imap.c:956
jfs_evict_inode+0x329/0x440 fs/jfs/inode.c:156
evict+0x2a4/0x620 fs/inode.c:587
txUpdateMap+0x825/0x9e0 fs/jfs/jfs_txnmgr.c:2401
txLazyCommit fs/jfs/jfs_txnmgr.c:2698 [inline]
jfs_lazycommit+0x470/0xc30 fs/jfs/jfs_txnmgr.c:2766
kthread+0x3f6/0x4f0 kernel/kthread.c:319
ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:298
</TASK>

Showing all locks held in the system:
1 lock held by khungtaskd/27:
#0: ffffffff8c91f720 (rcu_read_lock){....}-{1:2}, at: rcu_lock_acquire+0x0/0x30
2 locks held by jfsCommit/276:
#0: ffff8880149b8920 (&(imap->im_aglock[index])){+.+.}-{3:3}, at: diFree+0x378/0x2fb0 fs/jfs/jfs_imap.c:886
#1: ffff888074ec9cf8 (&jfs_ip->rdwrlock/1){.+.+}-{3:3}, at: diFree+0x394/0x2fb0 fs/jfs/jfs_imap.c:891
2 locks held by getty/3262:
#0: ffff88802456f098 (&tty->ldisc_sem){++++}-{0:0}, at: tty_ldisc_ref_wait+0x21/0x70 drivers/tty/tty_ldisc.c:252
#1: ffffc90002bab2e8 (&ldata->atomic_read_lock){+.+.}-{3:3}, at: n_tty_read+0x6af/0x1db0 drivers/tty/n_tty.c:2158
2 locks held by syz-executor386/4710:

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

NMI backtrace for cpu 1
CPU: 1 PID: 27 Comm: khungtaskd Not tainted 5.15.153-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 03/27/2024
Call Trace:
<TASK>
__dump_stack lib/dump_stack.c:88 [inline]
dump_stack_lvl+0x1e3/0x2cb lib/dump_stack.c:106
nmi_cpu_backtrace+0x46a/0x4a0 lib/nmi_backtrace.c:111
nmi_trigger_cpumask_backtrace+0x181/0x2a0 lib/nmi_backtrace.c:62
trigger_all_cpu_backtrace include/linux/nmi.h:148 [inline]
check_hung_uninterruptible_tasks kernel/hung_task.c:210 [inline]
watchdog+0xe72/0xeb0 kernel/hung_task.c:295
kthread+0x3f6/0x4f0 kernel/kthread.c:319
ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:298
</TASK>
Sending NMI from CPU 1 to CPUs 0:
NMI backtrace for cpu 0
CPU: 0 PID: 4710 Comm: syz-executor386 Not tainted 5.15.153-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 03/27/2024
RIP: 0010:kasan_check_range+0x1/0x290 mm/kasan/generic.c:188
Code: 01 c6 48 89 c7 e8 6f a0 52 08 31 c0 c3 0f 0b b8 ea ff ff ff c3 0f 0b b8 ea ff ff ff c3 cc cc cc cc cc cc cc cc cc cc cc cc 55 <41> 57 41 56 53 b0 01 48 85 f6 0f 84 9a 01 00 00 48 89 fd 48 01 f5
RSP: 0018:ffffc900070e7838 EFLAGS: 00000246
RAX: ffffffff81b2051a RBX: ffffea0001ba8c18 RCX: ffffffff81b20527
RDX: 0000000000000000 RSI: 0000000000000008 RDI: ffffea0001ba8c00
RBP: ffffc900070e7b70 R08: ffffffff81ad2547 R09: fffff94000375181
R10: 0000000000000000 R11: dffffc0000000001 R12: ffffea0001ba8c00
R13: 1ffff92000e1cf34 R14: ffff88801a096d08 R15: dffffc0000000000
FS: 0000555556822380(0000) GS:ffff8880b9a00000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007fbb03366000 CR3: 000000001b07b000 CR4: 00000000003506f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
<NMI>
</NMI>
<TASK>
instrument_atomic_read include/linux/instrumented.h:71 [inline]
test_bit include/asm-generic/bitops/instrumented-non-atomic.h:134 [inline]
PageCompound include/linux/page-flags.h:212 [inline]
page_mapped+0x27/0x280 mm/util.c:766
truncate_cleanup_page+0x1b/0x440 mm/truncate.c:172
truncate_inode_page+0x85/0xb0 mm/truncate.c:218
shmem_undo_range+0x535/0x1b50 mm/shmem.c:960
shmem_truncate_range mm/shmem.c:1063 [inline]
shmem_evict_inode+0x21b/0xa00 mm/shmem.c:1145
evict+0x2a4/0x620 fs/inode.c:587
__dentry_kill+0x436/0x650 fs/dcache.c:582
dentry_kill+0xbb/0x290
dput+0xd8/0x1a0 fs/dcache.c:889
__fput+0x5ec/0x890 fs/file_table.c:288
task_work_run+0x129/0x1a0 kernel/task_work.c:164
tracehook_notify_resume include/linux/tracehook.h:189 [inline]
exit_to_user_mode_loop+0x106/0x130 kernel/entry/common.c:175
exit_to_user_mode_prepare+0xb1/0x140 kernel/entry/common.c:208
__syscall_exit_to_user_mode_work kernel/entry/common.c:290 [inline]
syscall_exit_to_user_mode+0x5d/0x250 kernel/entry/common.c:301
do_syscall_64+0x49/0xb0 arch/x86/entry/common.c:86
entry_SYSCALL_64_after_hwframe+0x61/0xcb
RIP: 0033:0x7fbb0a7a4f70
Code: ff f7 d8 64 89 02 48 c7 c0 ff ff ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 66 90 80 3d 11 f1 07 00 00 74 17 b8 03 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 48 c3 0f 1f 80 00 00 00 00 48 83 ec 18 89 7c
RSP: 002b:00007fff019f82c8 EFLAGS: 00000202 ORIG_RAX: 0000000000000003
RAX: 0000000000000000 RBX: 00007fff019f82e0 RCX: 00007fbb0a7a4f70
RDX: 0000000000000010 RSI: 0000000000004c00 RDI: 0000000000000003
RBP: 0000000000000004 R08: 00000000000061fd R09: 00000000000061f9
R10: 0000000000000000 R11: 0000000000000202 R12: 0000000002010880
R13: 00007fff019f8320 R14: 0000000000000003 R15: 0000555556822338
</TASK>
INFO: NMI handler (nmi_cpu_backtrace_handler) took too long to run: 1.261 msecs


---
If you want syzbot to run the reproducer, reply with:
#syz test: git://repo/address.git branch-or-commit-hash
If you attach or paste a git patch, syzbot will apply it before testing.
Reply all
Reply to author
Forward
0 new messages