[v6.1] BUG: sleeping function called from invalid context in jfs_fsync

4 views
Skip to first unread message

syzbot

unread,
Feb 27, 2025, 10:26:30 PM2/27/25
to syzkaller...@googlegroups.com
Hello,

syzbot found the following issue on:

HEAD commit: 3a8358583626 Linux 6.1.129
git tree: linux-6.1.y
console output: https://syzkaller.appspot.com/x/log.txt?x=15637064580000
kernel config: https://syzkaller.appspot.com/x/.config?x=ff93ecc085d8436e
dashboard link: https://syzkaller.appspot.com/bug?extid=219127d0a3bce650e1b6
compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40
userspace arch: arm64

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

Downloadable assets:
disk image: https://storage.googleapis.com/syzbot-assets/3cc3985223b7/disk-3a835858.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/e40398fb298b/vmlinux-3a835858.xz
kernel image: https://storage.googleapis.com/syzbot-assets/40469708dc9a/Image-3a835858.gz.xz

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

BUG: sleeping function called from invalid context at kernel/locking/rwsem.c:1572
in_atomic(): 1, irqs_disabled(): 0, non_block: 0, pid: 21, name: ksoftirqd/1
preempt_count: 100, expected: 0
RCU nest depth: 0, expected: 0
no locks held by ksoftirqd/1/21.
Preemption disabled at:
[<ffff8000081c3608>] softirq_handle_begin kernel/softirq.c:416 [inline]
[<ffff8000081c3608>] handle_softirqs+0xe0/0xd58 kernel/softirq.c:554
CPU: 1 PID: 21 Comm: ksoftirqd/1 Not tainted 6.1.129-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 12/27/2024
Call trace:
dump_backtrace+0x1c8/0x1f4 arch/arm64/kernel/stacktrace.c:158
show_stack+0x2c/0x3c arch/arm64/kernel/stacktrace.c:165
__dump_stack lib/dump_stack.c:88 [inline]
dump_stack_lvl+0x108/0x170 lib/dump_stack.c:106
dump_stack+0x1c/0x58 lib/dump_stack.c:113
__might_resched+0x37c/0x4d8 kernel/sched/core.c:9957
__might_sleep+0x90/0xe4 kernel/sched/core.c:9886
down_write+0x28/0x88 kernel/locking/rwsem.c:1572
inode_lock include/linux/fs.h:758 [inline]
jfs_fsync+0xa0/0x1c0 fs/jfs/file.c:28
vfs_fsync_range+0x168/0x188 fs/sync.c:188
generic_write_sync include/linux/fs.h:2962 [inline]
dio_complete+0x5c0/0x738 fs/direct-io.c:309
dio_bio_end_aio+0x488/0x550 fs/direct-io.c:364
bio_endio+0x7c8/0x80c block/bio.c:1554
req_bio_endio block/blk-mq.c:780 [inline]
blk_update_request+0x4ac/0xdf0 block/blk-mq.c:925
blk_mq_end_request+0x54/0x88 block/blk-mq.c:1050
lo_complete_rq+0x140/0x258 drivers/block/loop.c:365
blk_complete_reqs block/blk-mq.c:1130 [inline]
blk_done_softirq+0x11c/0x168 block/blk-mq.c:1135
handle_softirqs+0x318/0xd58 kernel/softirq.c:578
run_ksoftirqd+0x6c/0x29c kernel/softirq.c:945
smpboot_thread_fn+0x4b0/0x96c kernel/smpboot.c:164
kthread+0x250/0x2d8 kernel/kthread.c:376
ret_from_fork+0x10/0x20 arch/arm64/kernel/entry.S:864

=============================
[ BUG: Invalid wait context ]
6.1.129-syzkaller #0 Tainted: G W
-----------------------------
ksoftirqd/1/21 is trying to lock:
ffff0000df158ec0 (&sb->s_type->i_mutex_key#28){+.+.}-{3:3}, at: inode_lock include/linux/fs.h:758 [inline]
ffff0000df158ec0 (&sb->s_type->i_mutex_key#28){+.+.}-{3:3}, at: jfs_fsync+0xa0/0x1c0 fs/jfs/file.c:28
other info that might help us debug this:
context-{2:2}
no locks held by ksoftirqd/1/21.
stack backtrace:
CPU: 1 PID: 21 Comm: ksoftirqd/1 Tainted: G W 6.1.129-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 12/27/2024
Call trace:
dump_backtrace+0x1c8/0x1f4 arch/arm64/kernel/stacktrace.c:158
show_stack+0x2c/0x3c arch/arm64/kernel/stacktrace.c:165
__dump_stack lib/dump_stack.c:88 [inline]
dump_stack_lvl+0x108/0x170 lib/dump_stack.c:106
dump_stack+0x1c/0x58 lib/dump_stack.c:113
print_lock_invalid_wait_context kernel/locking/lockdep.c:4701 [inline]
check_wait_context kernel/locking/lockdep.c:4762 [inline]
__lock_acquire+0x1b14/0x7680 kernel/locking/lockdep.c:4999
lock_acquire+0x26c/0x7cc kernel/locking/lockdep.c:5662
down_write+0x5c/0x88 kernel/locking/rwsem.c:1573
inode_lock include/linux/fs.h:758 [inline]
jfs_fsync+0xa0/0x1c0 fs/jfs/file.c:28
vfs_fsync_range+0x168/0x188 fs/sync.c:188
generic_write_sync include/linux/fs.h:2962 [inline]
dio_complete+0x5c0/0x738 fs/direct-io.c:309
dio_bio_end_aio+0x488/0x550 fs/direct-io.c:364
bio_endio+0x7c8/0x80c block/bio.c:1554
req_bio_endio block/blk-mq.c:780 [inline]
blk_update_request+0x4ac/0xdf0 block/blk-mq.c:925
blk_mq_end_request+0x54/0x88 block/blk-mq.c:1050
lo_complete_rq+0x140/0x258 drivers/block/loop.c:365
blk_complete_reqs block/blk-mq.c:1130 [inline]
blk_done_softirq+0x11c/0x168 block/blk-mq.c:1135
handle_softirqs+0x318/0xd58 kernel/softirq.c:578
run_ksoftirqd+0x6c/0x29c kernel/softirq.c:945
smpboot_thread_fn+0x4b0/0x96c kernel/smpboot.c:164
kthread+0x250/0x2d8 kernel/kthread.c:376
ret_from_fork+0x10/0x20 arch/arm64/kernel/entry.S:864
BUG: scheduling while atomic: ksoftirqd/1/21/0x00000101
INFO: lockdep is turned off.
Modules linked in:
Preemption disabled at:
[<ffff8000081c3608>] softirq_handle_begin kernel/softirq.c:416 [inline]
[<ffff8000081c3608>] handle_softirqs+0xe0/0xd58 kernel/softirq.c:554
CPU: 1 PID: 21 Comm: ksoftirqd/1 Tainted: G W 6.1.129-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 12/27/2024
Call trace:
dump_backtrace+0x1c8/0x1f4 arch/arm64/kernel/stacktrace.c:158
show_stack+0x2c/0x3c arch/arm64/kernel/stacktrace.c:165
__dump_stack lib/dump_stack.c:88 [inline]
dump_stack_lvl+0x108/0x170 lib/dump_stack.c:106
dump_stack+0x1c/0x58 lib/dump_stack.c:113
__schedule_bug+0x12c/0x1e0 kernel/sched/core.c:5791
schedule_debug kernel/sched/core.c:5818 [inline]
__schedule+0xf8c/0x1d44 kernel/sched/core.c:6453
schedule+0xc4/0x170 kernel/sched/core.c:6636
rwsem_down_write_slowpath+0xc80/0x156c kernel/locking/rwsem.c:1189
__down_write_common kernel/locking/rwsem.c:1314 [inline]
__down_write kernel/locking/rwsem.c:1323 [inline]
down_write+0x84/0x88 kernel/locking/rwsem.c:1574
inode_lock include/linux/fs.h:758 [inline]
jfs_fsync+0xa0/0x1c0 fs/jfs/file.c:28
vfs_fsync_range+0x168/0x188 fs/sync.c:188
generic_write_sync include/linux/fs.h:2962 [inline]
dio_complete+0x5c0/0x738 fs/direct-io.c:309
dio_bio_end_aio+0x488/0x550 fs/direct-io.c:364
bio_endio+0x7c8/0x80c block/bio.c:1554
req_bio_endio block/blk-mq.c:780 [inline]
blk_update_request+0x4ac/0xdf0 block/blk-mq.c:925
blk_mq_end_request+0x54/0x88 block/blk-mq.c:1050
lo_complete_rq+0x140/0x258 drivers/block/loop.c:365
blk_complete_reqs block/blk-mq.c:1130 [inline]
blk_done_softirq+0x11c/0x168 block/blk-mq.c:1135
handle_softirqs+0x318/0xd58 kernel/softirq.c:578
run_ksoftirqd+0x6c/0x29c kernel/softirq.c:945
smpboot_thread_fn+0x4b0/0x96c kernel/smpboot.c:164
kthread+0x250/0x2d8 kernel/kthread.c:376
ret_from_fork+0x10/0x20 arch/arm64/kernel/entry.S:864


---
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,
Feb 27, 2025, 11:41:25 PM2/27/25
to syzkaller...@googlegroups.com
syzbot has found a reproducer for the following issue on:

HEAD commit: 3a8358583626 Linux 6.1.129
git tree: linux-6.1.y
console output: https://syzkaller.appspot.com/x/log.txt?x=149cca97980000
kernel config: https://syzkaller.appspot.com/x/.config?x=ff93ecc085d8436e
dashboard link: https://syzkaller.appspot.com/bug?extid=219127d0a3bce650e1b6
compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40
userspace arch: arm64
syz repro: https://syzkaller.appspot.com/x/repro.syz?x=137097b8580000
C reproducer: https://syzkaller.appspot.com/x/repro.c?x=175108b7980000
mounted in repro: https://storage.googleapis.com/syzbot-assets/afeae8f5f3da/mount_0.gz
fsck result: failed (log: https://syzkaller.appspot.com/x/fsck.log?x=14ef7064580000)
ffff0000e4010580 (&sb->s_type->i_mutex_key#20){+.+.}-{3:3}, at: inode_lock include/linux/fs.h:758 [inline]
ffff0000e4010580 (&sb->s_type->i_mutex_key#20){+.+.}-{3:3}, at: jfs_fsync+0xa0/0x1c0 fs/jfs/file.c:28
---
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.

syzbot

unread,
Mar 22, 2025, 5:40:08 AM3/22/25
to syzkaller...@googlegroups.com
For archival purposes, forwarding an incoming command email to
syzkaller...@googlegroups.com.

***

Subject:
Author: purvay...@gmail.com

#syz test

syzbot

unread,
Mar 22, 2025, 6:33:21 AM3/22/25
to syzkaller...@googlegroups.com

syzbot

unread,
Mar 25, 2025, 11:15:49 AM3/25/25
to syzkaller...@googlegroups.com
Reply all
Reply to author
Forward
0 new messages