[v5.15] BUG: unable to handle kernel paging request in open_xa_dir

0 views
Skip to first unread message

syzbot

unread,
Apr 21, 2024, 5:30:20 AMApr 21
to syzkaller...@googlegroups.com
Hello,

syzbot found the following issue on:

HEAD commit: c52b9710c83d Linux 5.15.156
git tree: linux-5.15.y
console output: https://syzkaller.appspot.com/x/log.txt?x=12dd6e10980000
kernel config: https://syzkaller.appspot.com/x/.config?x=41e09ec50c6bb4e4
dashboard link: https://syzkaller.appspot.com/bug?extid=11a171f65960379e24eb
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/586695cf1548/disk-c52b9710.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/10a68b27874f/vmlinux-c52b9710.xz
kernel image: https://storage.googleapis.com/syzbot-assets/610e1be513a8/Image-c52b9710.gz.xz

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

Unable to handle kernel paging request at virtual address dfff80000000000d
Mem abort info:
ESR = 0x0000000096000006
EC = 0x25: DABT (current EL), IL = 32 bits
SET = 0, FnV = 0
EA = 0, S1PTW = 0
FSC = 0x06: level 2 translation fault
Data abort info:
ISV = 0, ISS = 0x00000006
CM = 0, WnR = 0
[dfff80000000000d] address between user and kernel address ranges
Internal error: Oops: 0000000096000006 [#1] PREEMPT SMP
Modules linked in:
CPU: 0 PID: 4732 Comm: kworker/0:10 Not tainted 5.15.156-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 03/27/2024
Workqueue: events free_ruleset_work
pstate: 00401005 (nzcv daif +PAN -UAO -TCO -DIT +SSBS BTYPE=--)
pc : d_really_is_negative include/linux/dcache.h:476 [inline]
pc : open_xa_root fs/reiserfs/xattr.c:124 [inline]
pc : open_xa_dir+0xf8/0x578 fs/reiserfs/xattr.c:152
lr : open_xa_dir+0x9c/0x578 fs/reiserfs/xattr.c:150
sp : ffff80001e6175a0
x29: ffff80001e617620 x28: 000000000000000d x27: dfff800000000000
x26: ffff700003cc2eb4 x25: 0000000000000000 x24: 1fffe0001ae4a0cf
x23: 0000000000000068 x22: ffff0000e9401570 x21: ffff80001e6175c0
x20: 0000000000000002 x19: ffff0000d7250678 x18: ffff80001e617680
x17: 0000000000000000 x16: 0000000000000000 x15: 0000000000000000
x14: 0000000000000000 x13: 0000000000000000 x12: ffff700003cc2eba
x11: 1ffff00003cc2eb8 x10: 0000000000000001 x9 : 0000000000000001
x8 : 0000000000000000 x7 : 0000000000000000 x6 : ffff800008d0bca8
x5 : ffff80001e617760 x4 : 0000000000000000 x3 : 0000000000000010
x2 : 0000000000000001 x1 : 0000000000000000 x0 : ffff80001e6175c0
Call trace:
d_really_is_negative include/linux/dcache.h:476 [inline]
open_xa_root fs/reiserfs/xattr.c:124 [inline]
open_xa_dir+0xf8/0x578 fs/reiserfs/xattr.c:152
reiserfs_for_each_xattr+0x16c/0x8d8 fs/reiserfs/xattr.c:252
reiserfs_delete_xattrs+0x2c/0xa4 fs/reiserfs/xattr.c:364
reiserfs_evict_inode+0x1dc/0x3f0 fs/reiserfs/inode.c:53
evict+0x260/0x68c fs/inode.c:587
iput_final fs/inode.c:1705 [inline]
iput+0x744/0x824 fs/inode.c:1731
release_inode+0x14c/0x328 security/landlock/fs.c:76
landlock_put_object+0x8c/0xbc security/landlock/object.c:64
free_rule security/landlock/ruleset.c:110 [inline]
free_ruleset+0x8c/0x1cc security/landlock/ruleset.c:365
free_ruleset_work+0x20/0x30 security/landlock/ruleset.c:382
process_one_work+0x790/0x11b8 kernel/workqueue.c:2310
worker_thread+0x910/0x1034 kernel/workqueue.c:2457
kthread+0x37c/0x45c kernel/kthread.c:334
ret_from_fork+0x10/0x20 arch/arm64/kernel/entry.S:870
Code: 97ef0a54 f94002e8 9101a117 d343fefc (387b6b88)
---[ end trace d390bad29f5ce630 ]---
----------------
Code disassembly (best guess):
0: 97ef0a54 bl 0xffffffffffbc2950
4: f94002e8 ldr x8, [x23]
8: 9101a117 add x23, x8, #0x68
c: d343fefc lsr x28, x23, #3
* 10: 387b6b88 ldrb w8, [x28, x27] <-- trapping instruction


---
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 21, 2024, 6:26:23 AMApr 21
to syzkaller...@googlegroups.com
syzbot has found a reproducer for the following issue on:

HEAD commit: c52b9710c83d Linux 5.15.156
git tree: linux-5.15.y
console output: https://syzkaller.appspot.com/x/log.txt?x=107d6e10980000
kernel config: https://syzkaller.appspot.com/x/.config?x=41e09ec50c6bb4e4
dashboard link: https://syzkaller.appspot.com/bug?extid=11a171f65960379e24eb
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=141a67cb180000
C reproducer: https://syzkaller.appspot.com/x/repro.c?x=17ec7c27180000
mounted in repro: https://storage.googleapis.com/syzbot-assets/2d87591ac7d9/mount_0.gz

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

Unable to handle kernel paging request at virtual address dfff80000000000d
Mem abort info:
ESR = 0x0000000096000006
EC = 0x25: DABT (current EL), IL = 32 bits
SET = 0, FnV = 0
EA = 0, S1PTW = 0
FSC = 0x06: level 2 translation fault
Data abort info:
ISV = 0, ISS = 0x00000006
CM = 0, WnR = 0
[dfff80000000000d] address between user and kernel address ranges
Internal error: Oops: 0000000096000006 [#1] PREEMPT SMP
Modules linked in:
CPU: 1 PID: 3959 Comm: syz-executor283 Not tainted 5.15.156-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 03/27/2024
pstate: 00401005 (nzcv daif +PAN -UAO -TCO -DIT +SSBS BTYPE=--)
pc : d_really_is_negative include/linux/dcache.h:476 [inline]
pc : open_xa_root fs/reiserfs/xattr.c:124 [inline]
pc : open_xa_dir+0xf8/0x578 fs/reiserfs/xattr.c:152
lr : open_xa_dir+0x9c/0x578 fs/reiserfs/xattr.c:150
sp : ffff80001afc72c0
x29: ffff80001afc7340 x28: 000000000000000d x27: dfff800000000000
x26: ffff7000035f8e58 x25: 0000000000000000 x24: 1fffe00018f4f0cf
x23: 0000000000000068 x22: ffff0000de8f8ed0 x21: ffff80001afc72e0
x20: 0000000000000002 x19: ffff0000c7a78678 x18: ffff80001afc7480
x17: 0000000000000000 x16: 0000000000000000 x15: 0000000000000000
x14: 0000000000000000 x13: 0000000000000000 x12: ffff7000035f8e5e
x11: 1ffff000035f8e5c x10: 0000000000000001 x9 : 0000000000000001
x8 : 0000000000000000 x7 : 0000000000000000 x6 : ffff800008d0bca8
x5 : ffff80001afc7480 x4 : 0000000000000000 x3 : 0000000000000010
x2 : 0000000000000001 x1 : 0000000000000000 x0 : ffff80001afc72e0
Call trace:
d_really_is_negative include/linux/dcache.h:476 [inline]
open_xa_root fs/reiserfs/xattr.c:124 [inline]
open_xa_dir+0xf8/0x578 fs/reiserfs/xattr.c:152
reiserfs_for_each_xattr+0x16c/0x8d8 fs/reiserfs/xattr.c:252
reiserfs_delete_xattrs+0x2c/0xa4 fs/reiserfs/xattr.c:364
reiserfs_evict_inode+0x1dc/0x3f0 fs/reiserfs/inode.c:53
evict+0x260/0x68c fs/inode.c:587
iput_final fs/inode.c:1705 [inline]
iput+0x744/0x824 fs/inode.c:1731
hook_sb_delete+0x688/0xa14 security/landlock/fs.c:479
security_sb_delete+0x50/0x94 security/security.c:921
generic_shutdown_super+0xac/0x29c fs/super.c:461
kill_block_super+0x70/0xdc fs/super.c:1414
reiserfs_kill_sb+0x134/0x14c fs/reiserfs/super.c:570
deactivate_locked_super+0xb8/0x13c fs/super.c:335
deactivate_super+0x108/0x128 fs/super.c:366
cleanup_mnt+0x3c0/0x474 fs/namespace.c:1143
__cleanup_mnt+0x20/0x30 fs/namespace.c:1150
task_work_run+0x130/0x1e4 kernel/task_work.c:164
tracehook_notify_resume include/linux/tracehook.h:189 [inline]
do_notify_resume+0x262c/0x32b8 arch/arm64/kernel/signal.c:946
prepare_exit_to_user_mode arch/arm64/kernel/entry-common.c:133 [inline]
exit_to_user_mode arch/arm64/kernel/entry-common.c:138 [inline]
el0_svc+0xfc/0x1f0 arch/arm64/kernel/entry-common.c:609
el0t_64_sync_handler+0x84/0xe4 arch/arm64/kernel/entry-common.c:626
el0t_64_sync+0x1a0/0x1a4 arch/arm64/kernel/entry.S:584
Code: 97ef0a54 f94002e8 9101a117 d343fefc (387b6b88)
---[ end trace 038cba525c49e8bb ]---
----------------
Code disassembly (best guess):
0: 97ef0a54 bl 0xffffffffffbc2950
4: f94002e8 ldr x8, [x23]
8: 9101a117 add x23, x8, #0x68
c: d343fefc lsr x28, x23, #3
* 10: 387b6b88 ldrb w8, [x28, x27] <-- trapping instruction


---
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