[syzbot] [mm?] BUG: unable to handle kernel paging request in list_lru_add

11 views
Skip to first unread message

syzbot

unread,
Sep 4, 2023, 12:00:05 PM9/4/23
to ak...@linux-foundation.org, linux-...@vger.kernel.org, linu...@kvack.org, syzkall...@googlegroups.com
Hello,

syzbot found the following issue on:

HEAD commit: 708283abf896 Merge tag 'dmaengine-6.6-rc1' of git://git.ke..
git tree: upstream
console output: https://syzkaller.appspot.com/x/log.txt?x=17424cd0680000
kernel config: https://syzkaller.appspot.com/x/.config?x=15f37e053f1602f8
dashboard link: https://syzkaller.appspot.com/bug?extid=2403e3909382fbdeaf6c
compiler: aarch64-linux-gnu-gcc (Debian 12.2.0-14) 12.2.0, 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 (non-bootable): https://storage.googleapis.com/syzbot-assets/384ffdcca292/non_bootable_disk-708283ab.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/ae645c88b07f/vmlinux-708283ab.xz
kernel image: https://storage.googleapis.com/syzbot-assets/32d5997bb055/Image-708283ab.gz.xz

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

Unable to handle kernel paging request at virtual address dfff800000000001
KASAN: null-ptr-deref in range [0x0000000000000008-0x000000000000000f]
Mem abort info:
ESR = 0x0000000096000005
EC = 0x25: DABT (current EL), IL = 32 bits
SET = 0, FnV = 0
EA = 0, S1PTW = 0
FSC = 0x05: level 1 translation fault
Data abort info:
ISV = 0, ISS = 0x00000005, ISS2 = 0x00000000
CM = 0, WnR = 0, TnD = 0, TagAccess = 0
GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0
[dfff800000000001] address between user and kernel address ranges
Internal error: Oops: 0000000096000005 [#1] PREEMPT SMP
Modules linked in:
CPU: 1 PID: 2922 Comm: udevd Not tainted 6.5.0-syzkaller-11329-g708283abf896 #0
Hardware name: linux,dummy-virt (DT)
pstate: 60000005 (nZCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
pc : list_add_tail include/linux/list.h:183 [inline]
pc : list_lru_add+0x174/0x464 mm/list_lru.c:129
lr : list_lru_from_memcg_idx mm/list_lru.c:56 [inline]
lr : list_lru_from_memcg_idx mm/list_lru.c:53 [inline]
lr : list_lru_from_kmem mm/list_lru.c:78 [inline]
lr : list_lru_add+0x354/0x464 mm/list_lru.c:128
sp : ffff80008dd57520
x29: ffff80008dd57520 x28: 0000000000000008 x27: ffff0000378c4000
x26: 0000000000000001 x25: 0000000000000000 x24: 0000000000000000
x23: 1fffe0000293550a x22: 0000000000000000 x21: ffff000012d1c7a0
x20: ffff0000149aa850 x19: ffff0000146f7a00 x18: 0000000000000000
x17: 0000000000000000 x16: 0000000000000000 x15: ffff800080915234
x14: ffff800080914c58 x13: ffff800080914c58 x12: 000000000000f1f1
x11: dfff800000000000 x10: 00000000f3000000 x9 : 00000000f3f3f3f3
x8 : ffff700011baae76 x7 : 00000000f1f1f1f1 x6 : dfff800000000000
x5 : ffff700011baae7a x4 : 00000000f204f1f1 x3 : 1fffe0000d51ff28
x2 : 0000000000000000 x1 : 0000000000000000 x0 : dfff800000000000
Call trace:
list_add_tail include/linux/list.h:183 [inline]
list_lru_add+0x174/0x464 mm/list_lru.c:129
d_lru_add+0x180/0x31c fs/dcache.c:431
retain_dentry fs/dcache.c:685 [inline]
dput+0x4ac/0x96c fs/dcache.c:908
handle_mounts fs/namei.c:1554 [inline]
step_into+0xc18/0x16c4 fs/namei.c:1839
walk_component+0xa8/0x484 fs/namei.c:2007
link_path_walk.part.0.constprop.0+0x4cc/0x970 fs/namei.c:2328
link_path_walk fs/namei.c:2253 [inline]
path_openat+0x1bc/0x2058 fs/namei.c:3792
do_filp_open+0x16c/0x330 fs/namei.c:3823
do_sys_openat2+0x12c/0x160 fs/open.c:1422
do_sys_open fs/open.c:1437 [inline]
__do_sys_openat fs/open.c:1453 [inline]
__se_sys_openat fs/open.c:1448 [inline]
__arm64_sys_openat+0x12c/0x1b8 fs/open.c:1448
__invoke_syscall arch/arm64/kernel/syscall.c:37 [inline]
invoke_syscall+0x6c/0x258 arch/arm64/kernel/syscall.c:51
el0_svc_common.constprop.0+0xac/0x230 arch/arm64/kernel/syscall.c:136
do_el0_svc+0x40/0x58 arch/arm64/kernel/syscall.c:155
el0_svc+0x58/0x140 arch/arm64/kernel/entry-common.c:678
el0t_64_sync_handler+0x100/0x12c arch/arm64/kernel/entry-common.c:696
el0t_64_sync+0x190/0x194 arch/arm64/kernel/entry.S:591
Code: 9100231c d2d00000 f2fbffe0 d343ff9a (38e06b40)
---[ end trace 0000000000000000 ]---
----------------
Code disassembly (best guess):
0: 9100231c add x28, x24, #0x8
4: d2d00000 mov x0, #0x800000000000 // #140737488355328
8: f2fbffe0 movk x0, #0xdfff, lsl #48
c: d343ff9a lsr x26, x28, #3
* 10: 38e06b40 ldrsb w0, [x26, x0] <-- 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 bug is already fixed, let syzbot know by replying with:
#syz fix: exact-commit-title

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

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

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

syzbot

unread,
Dec 27, 2023, 10:50:22 AM12/27/23
to ak...@linux-foundation.org, linux-...@vger.kernel.org, linu...@kvack.org, syzkall...@googlegroups.com
syzbot has found a reproducer for the following issue on:

HEAD commit: fbafc3e621c3 Merge tag 'for_linus' of git://git.kernel.org..
git tree: upstream
console output: https://syzkaller.appspot.com/x/log.txt?x=10dc0065e80000
kernel config: https://syzkaller.appspot.com/x/.config?x=c29fe98c88e5c7ae
dashboard link: https://syzkaller.appspot.com/bug?extid=2403e3909382fbdeaf6c
compiler: aarch64-linux-gnu-gcc (Debian 12.2.0-14) 12.2.0, GNU ld (GNU Binutils for Debian) 2.40
userspace arch: arm64
syz repro: https://syzkaller.appspot.com/x/repro.syz?x=1217a445e80000

Downloadable assets:
disk image (non-bootable): https://storage.googleapis.com/syzbot-assets/384ffdcca292/non_bootable_disk-fbafc3e6.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/44afd70ba00e/vmlinux-fbafc3e6.xz
kernel image: https://storage.googleapis.com/syzbot-assets/2812e972b4b2/Image-fbafc3e6.gz.xz

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

netdevsim netdevsim1 netdevsim1: set [1, 0] type 2 family 0 port 6081 - 0
netdevsim netdevsim1 netdevsim2: set [1, 0] type 2 family 0 port 6081 - 0
netdevsim netdevsim1 netdevsim3: set [1, 0] type 2 family 0 port 6081 - 0
Unable to handle kernel NULL pointer dereference at virtual address 0000000000000008
Mem abort info:
ESR = 0x0000000097d88004
EC = 0x25: DABT (current EL), IL = 32 bits
SET = 0, FnV = 0
EA = 0, S1PTW = 0
FSC = 0x04: level 0 translation fault
Data abort info:
Access size = 8 byte(s)
SSE = 0, SRT = 24
SF = 1, AR = 0
CM = 0, WnR = 0, TnD = 0, TagAccess = 0
GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0
user pgtable: 4k pages, 48-bit VAs, pgdp=0000000045d88000
[0000000000000008] pgd=0000000000000000, p4d=0000000000000000
Internal error: Oops: 0000000097d88004 [#1] PREEMPT SMP
Modules linked in:
CPU: 1 PID: 3148 Comm: syz-executor.1 Not tainted 6.7.0-rc7-syzkaller-00003-gfbafc3e621c3 #0
Hardware name: linux,dummy-virt (DT)
pstate: 61400009 (nZCv daif +PAN -UAO -TCO +DIT -SSBS BTYPE=--)
pc : list_add_tail include/linux/list.h:183 [inline]
pc : list_lru_add+0xa4/0x188 mm/list_lru.c:129
lr : list_lru_from_memcg_idx mm/list_lru.c:56 [inline]
lr : list_lru_from_memcg_idx mm/list_lru.c:53 [inline]
lr : list_lru_from_kmem mm/list_lru.c:78 [inline]
lr : list_lru_add+0x16c/0x188 mm/list_lru.c:128
sp : ffff800082c23ce0
x29: ffff800082c23ce0 x28: f7ff0000034f2f40 x27: 0000000000000000
x26: 0000000000000000 x25: faff000004d30000 x24: f0ff000005702340
x23: 0000000000000000 x22: 0000000000000000 x21: f8ff000005e0ac58
x20: f0ff000005702340 x19: f4ff000005b05d40 x18: 0000000000000001
x17: 0000000000000000 x16: 0000000000000000 x15: ffff8000803180f8
x14: 0000000000000000 x13: 000000000000039c x12: 0000000000005800
x11: 0000000000000040 x10: 000000000000002e x9 : 0000000000000001
x8 : ffff800082c23af8 x7 : 00000000001fffff x6 : 0000000055555556
x5 : f1ff000002c38b00 x4 : 0000000000000001 x3 : 0000000000000000
x2 : 0000000000000000 x1 : 0000000000000000 x0 : 0000000000000000
Call trace:
list_lru_from_kmem mm/list_lru.c:68 [inline]
list_lru_add+0xa4/0x188 mm/list_lru.c:128
d_lru_add+0x98/0x14c fs/dcache.c:431
retain_dentry fs/dcache.c:685 [inline]
dput+0x194/0x31c fs/dcache.c:908
done_path_create fs/namei.c:3925 [inline]
do_mkdirat+0x90/0x16c fs/namei.c:4132
__do_sys_mkdirat fs/namei.c:4144 [inline]
__se_sys_mkdirat fs/namei.c:4142 [inline]
__arm64_sys_mkdirat+0x50/0x7c fs/namei.c:4142
__invoke_syscall arch/arm64/kernel/syscall.c:37 [inline]
invoke_syscall+0x48/0x114 arch/arm64/kernel/syscall.c:51
el0_svc_common.constprop.0+0x40/0xe0 arch/arm64/kernel/syscall.c:136
do_el0_svc+0x1c/0x28 arch/arm64/kernel/syscall.c:155
el0_svc+0x34/0xd8 arch/arm64/kernel/entry-common.c:678
el0t_64_sync_handler+0x100/0x12c arch/arm64/kernel/entry-common.c:696
el0t_64_sync+0x19c/0x1a0 arch/arm64/kernel/entry.S:595
Code: 8b160316 d2800019 910022d6 aa1603fa (f94006d8)
---[ end trace 0000000000000000 ]---
----------------
Code disassembly (best guess):
0: 8b160316 add x22, x24, x22
4: d2800019 mov x25, #0x0 // #0
8: 910022d6 add x22, x22, #0x8
c: aa1603fa mov x26, x22
* 10: f94006d8 ldr x24, [x22, #8] <-- 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