[syzbot] [exfat?] [ext4?] WARNING in __rt_mutex_slowlock_locked

6 views
Skip to first unread message

syzbot

unread,
Aug 21, 2025, 10:08:35 AM8/21/25
to big...@linutronix.de, bra...@kernel.org, ja...@suse.cz, linki...@kernel.org, linux...@vger.kernel.org, linux-...@vger.kernel.org, linux-...@vger.kernel.org, sj155...@samsung.com, syzkall...@googlegroups.com, tg...@linutronix.de, vi...@zeniv.linux.org.uk
Hello,

syzbot found the following issue on:

HEAD commit: 41cd3fd15263 Merge tag 'pci-v6.17-fixes-2' of git://git.ke..
git tree: upstream
console output: https://syzkaller.appspot.com/x/log.txt?x=11ef37a2580000
kernel config: https://syzkaller.appspot.com/x/.config?x=e1e1566c7726877e
dashboard link: https://syzkaller.appspot.com/bug?extid=a725ab460fc1def9896f
compiler: Debian clang version 20.1.7 (++20250616065708+6146a88f6049-1~exp1~20250616065826.132), Debian LLD 20.1.7
syz repro: https://syzkaller.appspot.com/x/repro.syz?x=17a857a2580000
C reproducer: https://syzkaller.appspot.com/x/repro.c?x=14c916f0580000

Downloadable assets:
disk image: https://storage.googleapis.com/syzbot-assets/bc397a2f4204/disk-41cd3fd1.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/5291086f4669/vmlinux-41cd3fd1.xz
kernel image: https://storage.googleapis.com/syzbot-assets/1099e6ad84b5/bzImage-41cd3fd1.xz
mounted in repro: https://storage.googleapis.com/syzbot-assets/c1980868ad6b/mount_0.gz
fsck result: failed (log: https://syzkaller.appspot.com/x/fsck.log?x=10e28fa2580000)

The issue was bisected to:

commit d2d6422f8bd17c6bb205133e290625a564194496
Author: Sebastian Andrzej Siewior <big...@linutronix.de>
Date: Fri Sep 6 10:59:04 2024 +0000

x86: Allow to enable PREEMPT_RT.

bisection log: https://syzkaller.appspot.com/x/bisect.txt?x=16cf8fa2580000
final oops: https://syzkaller.appspot.com/x/report.txt?x=15cf8fa2580000
console output: https://syzkaller.appspot.com/x/log.txt?x=11cf8fa2580000

IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by: syzbot+a725ab...@syzkaller.appspotmail.com
Fixes: d2d6422f8bd1 ("x86: Allow to enable PREEMPT_RT.")

exFAT-fs (loop0): Medium has reported failures. Some data may be lost.
exFAT-fs (loop0): failed to load upcase table (idx : 0x00010000, chksum : 0xe5674ec2, utbl_chksum : 0xe619d30d)
------------[ cut here ]------------
rtmutex deadlock detected
WARNING: CPU: 0 PID: 6000 at kernel/locking/rtmutex.c:1674 rt_mutex_handle_deadlock kernel/locking/rtmutex.c:1674 [inline]
WARNING: CPU: 0 PID: 6000 at kernel/locking/rtmutex.c:1674 __rt_mutex_slowlock kernel/locking/rtmutex.c:1734 [inline]
WARNING: CPU: 0 PID: 6000 at kernel/locking/rtmutex.c:1674 __rt_mutex_slowlock_locked+0xed2/0x25e0 kernel/locking/rtmutex.c:1760
Modules linked in:
CPU: 0 UID: 0 PID: 6000 Comm: syz.0.17 Tainted: G W syzkaller #0 PREEMPT_{RT,(full)}
Tainted: [W]=WARN
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/12/2025
RIP: 0010:rt_mutex_handle_deadlock kernel/locking/rtmutex.c:1674 [inline]
RIP: 0010:__rt_mutex_slowlock kernel/locking/rtmutex.c:1734 [inline]
RIP: 0010:__rt_mutex_slowlock_locked+0xed2/0x25e0 kernel/locking/rtmutex.c:1760
Code: 7c 24 20 dd 4c 8b b4 24 98 00 00 00 0f 85 fd 0a 00 00 48 8b 7c 24 10 e8 2c ee 5d 09 90 48 c7 c7 00 ed 0a 8b e8 df 89 e7 ff 90 <0f> 0b 90 90 48 8b 9c 24 80 00 00 00 43 80 3c 3e 00 74 08 4c 89 e7
RSP: 0018:ffffc900048df840 EFLAGS: 00010246
RAX: e12880a9366a4400 RBX: ffff8880324663e0 RCX: ffff888032465940
RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000000
RBP: ffffc900048dfa30 R08: 0000000000000000 R09: 0000000000000000
R10: dffffc0000000000 R11: ffffed1017104863 R12: ffff888032467060
R13: ffff888032465958 R14: 1ffff1100648ce0c R15: dffffc0000000000
FS: 0000555557981500(0000) GS:ffff8881268c5000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000000000000000 CR3: 0000000035be0000 CR4: 00000000003526f0
Call Trace:
<TASK>
rt_mutex_slowlock+0xb5/0x160 kernel/locking/rtmutex.c:1800
__rt_mutex_lock kernel/locking/rtmutex.c:1815 [inline]
rwbase_write_lock+0x14f/0x750 kernel/locking/rwbase_rt.c:244
inode_lock_nested include/linux/fs.h:914 [inline]
vfs_rename+0x68f/0xf00 fs/namei.c:5092
do_renameat2+0x6ce/0xa80 fs/namei.c:5278
__do_sys_renameat2 fs/namei.c:5312 [inline]
__se_sys_renameat2 fs/namei.c:5309 [inline]
__x64_sys_renameat2+0xce/0xe0 fs/namei.c:5309
do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
do_syscall_64+0xfa/0x3b0 arch/x86/entry/syscall_64.c:94
entry_SYSCALL_64_after_hwframe+0x77/0x7f
RIP: 0033:0x7fc9cdd7ebe9
Code: ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 a8 ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007ffe70cc6ad8 EFLAGS: 00000246 ORIG_RAX: 000000000000013c
RAX: ffffffffffffffda RBX: 00007fc9cdfa5fa0 RCX: 00007fc9cdd7ebe9
RDX: 0000000000000004 RSI: 00002000000001c0 RDI: 0000000000000004
RBP: 00007fc9cde01e19 R08: 0000000000000004 R09: 0000000000000000
R10: 0000200000000140 R11: 0000000000000246 R12: 0000000000000000
R13: 00007fc9cdfa5fa0 R14: 00007fc9cdfa5fa0 R15: 0000000000000005
</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.
For information about bisection process see: https://goo.gl/tpsmEJ#bisection

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

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.

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

Sebastian Andrzej Siewior

unread,
Aug 22, 2025, 12:20:47 PM8/22/25
to syzbot, bra...@kernel.org, ja...@suse.cz, linki...@kernel.org, linux...@vger.kernel.org, linux-...@vger.kernel.org, linux-...@vger.kernel.org, sj155...@samsung.com, syzkall...@googlegroups.com, tg...@linutronix.de, vi...@zeniv.linux.org.uk
On 2025-08-21 07:08:32 [-0700], syzbot wrote:
> dashboard link: https://syzkaller.appspot.com/bug?extid=a725ab460fc1def9896f

> The issue was bisected to:
>
> commit d2d6422f8bd17c6bb205133e290625a564194496
> Author: Sebastian Andrzej Siewior <big...@linutronix.de>
> Date: Fri Sep 6 10:59:04 2024 +0000
>
> x86: Allow to enable PREEMPT_RT.
>

> exFAT-fs (loop0): Medium has reported failures. Some data may be lost.
> exFAT-fs (loop0): failed to load upcase table (idx : 0x00010000, chksum : 0xe5674ec2, utbl_chksum : 0xe619d30d)
> ------------[ cut here ]------------
> rtmutex deadlock detected
> WARNING: CPU: 0 PID: 6000 at kernel/locking/rtmutex.c:1674 rt_mutex_handle_deadlock kernel/locking/rtmutex.c:1674 [inline]
> WARNING: CPU: 0 PID: 6000 at kernel/locking/rtmutex.c:1674 __rt_mutex_slowlock kernel/locking/rtmutex.c:1734 [inline]
> WARNING: CPU: 0 PID: 6000 at kernel/locking/rtmutex.c:1674 __rt_mutex_slowlock_locked+0xed2/0x25e0 kernel/locking/rtmutex.c:1760

RT detected a deadlock and complained. The same testcase on !RT results
in:

| [ 15.363878] loop0: detected capacity change from 0 to 256
| [ 15.367981] exFAT-fs (loop0): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
| [ 15.373808] exFAT-fs (loop0): Medium has reported failures. Some data may be lost.
| [ 15.380396] exFAT-fs (loop0): failed to load upcase table (idx : 0x00010000, chksum : 0xe5674ec2, utbl_chksum : 0xe619d30d)
| [ 62.668182] INFO: task exfat-repro:2155 blocked for more than 30 seconds.
| [ 62.669405] Not tainted 6.17.0-rc2+ #10
| [ 62.670181] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
| [ 62.671612] task:exfat-repro state:D stack:0 pid:2155 tgid:2155 ppid:1 task_flags:0x400140 flags:0x00004006
| [ 62.673557] Call Trace:
| [ 62.674008] <TASK>
| [ 62.674400] __schedule+0x4ef/0xbb0
| [ 62.675069] schedule+0x22/0xd0
| [ 62.675656] schedule_preempt_disabled+0x10/0x20
| [ 62.676495] rwsem_down_write_slowpath+0x1e2/0x6c0
| [ 62.679028] down_write+0x66/0x70
| [ 62.679645] vfs_rename+0x5c6/0xc30
| [ 62.681734] do_renameat2+0x3c4/0x570
| [ 62.682395] __x64_sys_renameat2+0x7b/0xc0
| [ 62.683187] do_syscall_64+0x7f/0x290
| [ 62.695576] entry_SYSCALL_64_after_hwframe+0x76/0x7e

After ctrl+c that testcase terminates but one thread remains in D state.
This is from
| lock_new_subdir = new_dir != old_dir || !(flags & RENAME_EXCHANGE);
| if (is_dir) {
| if (lock_old_subdir)
| inode_lock_nested(source, I_MUTEX_CHILD);
^^^
| 5 locks held by exfat-repro/2156:
| #0: ffff888113b69400 (sb_writers#11){.+.+}-{0:0}, at: do_renameat2+0x1c8/0x580
| #1: ffff888113b69710 (&type->s_vfs_rename_key){+.+.}-{4:4}, at: do_renameat2+0x24d/0x580
| #2: ffff88810fb79b88 (&sb->s_type->i_mutex_key#16/1){+.+.}-{4:4}, at: lock_two_directories+0x6c/0x110
| #3: ffff88810fb7a1c0 (&sb->s_type->i_mutex_key#17/5){+.+.}-{4:4}, at: lock_two_directories+0x82/0x110
| #4: ffffffff82f618a0 (rcu_read_lock){....}-{1:3}, at: debug_show_all_locks+0x3d/0x184

#2 and #3 are from the "(r == p1)" case. The lock it appears to acquire
is #2.
Could an exfat take a look, please?

Sebastian

Namjae Jeon

unread,
Aug 22, 2025, 8:59:39 PM8/22/25
to Sebastian Andrzej Siewior, syzbot, bra...@kernel.org, ja...@suse.cz, linux...@vger.kernel.org, linux-...@vger.kernel.org, linux-...@vger.kernel.org, sj155...@samsung.com, syzkall...@googlegroups.com, tg...@linutronix.de, vi...@zeniv.linux.org.uk
I will take a look.
Thanks!
>
> Sebastian

Namjae Jeon

unread,
Aug 30, 2025, 1:53:24 AM8/30/25
to syzbot, big...@linutronix.de, bra...@kernel.org, ja...@suse.cz, linux...@vger.kernel.org, linux-...@vger.kernel.org, linux-...@vger.kernel.org, sj155...@samsung.com, syzkall...@googlegroups.com, tg...@linutronix.de, vi...@zeniv.linux.org.uk
#syz test
0001-exfat-validate-cluster-allocation-bits-of-bitmap.patch

syzbot

unread,
Aug 30, 2025, 2:15:04 AM8/30/25
to big...@linutronix.de, bra...@kernel.org, ja...@suse.cz, linki...@kernel.org, linux...@vger.kernel.org, linux-...@vger.kernel.org, linux-...@vger.kernel.org, sj155...@samsung.com, syzkall...@googlegroups.com, tg...@linutronix.de, vi...@zeniv.linux.org.uk
Hello,

syzbot has tested the proposed patch and the reproducer did not trigger any issue:

Reported-by: syzbot+a725ab...@syzkaller.appspotmail.com
Tested-by: syzbot+a725ab...@syzkaller.appspotmail.com

Tested on:

commit: 11e7861d Merge tag 'for-linus' of git://git.kernel.org..
git tree: upstream
console output: https://syzkaller.appspot.com/x/log.txt?x=13755262580000
kernel config: https://syzkaller.appspot.com/x/.config?x=bd9738e00c1bbfb4
dashboard link: https://syzkaller.appspot.com/bug?extid=a725ab460fc1def9896f
compiler: Debian clang version 20.1.8 (++20250708063551+0c9f909b7976-1~exp1~20250708183702.136), Debian LLD 20.1.8
patch: https://syzkaller.appspot.com/x/patch.diff?x=17b6d634580000

Note: testing is done by a robot and is best-effort only.
Reply all
Reply to author
Forward
0 new messages