[v6.1] BUG: unable to handle kernel paging request in list_lru_add

1 view
Skip to first unread message

syzbot

unread,
Oct 20, 2025, 4:49:30 PM (18 hours ago) Oct 20
to syzkaller...@googlegroups.com
Hello,

syzbot found the following issue on:

HEAD commit: 8e6e2188d949 Linux 6.1.157
git tree: linux-6.1.y
console output: https://syzkaller.appspot.com/x/log.txt?x=151d9492580000
kernel config: https://syzkaller.appspot.com/x/.config?x=68aa5a3af1cb953a
dashboard link: https://syzkaller.appspot.com/bug?extid=3384e4950564a10838d1
compiler: Debian clang version 20.1.8 (++20250708063551+0c9f909b7976-1~exp1~20250708183702.136), Debian LLD 20.1.8
userspace arch: arm64

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

Downloadable assets:
disk image: https://storage.googleapis.com/syzbot-assets/eb7c93b37aac/disk-8e6e2188.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/aab942f8b193/vmlinux-8e6e2188.xz
kernel image: https://storage.googleapis.com/syzbot-assets/c2aae359db05/Image-8e6e2188.gz.xz

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

loop7: detected capacity change from 0 to 256
Unable to handle kernel paging request at virtual address dfff800000000001
KASAN: null-ptr-deref in range [0x0000000000000008-0x000000000000000f]
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
[dfff800000000001] address between user and kernel address ranges
Internal error: Oops: 0000000096000006 [#1] PREEMPT SMP
Modules linked in:
CPU: 1 PID: 5754 Comm: syz.7.314 Not tainted syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 06/30/2025
pstate: 624000c5 (nZCv daIF +PAN -UAO +TCO -DIT -SSBS BTYPE=--)
pc : list_add_tail include/linux/list.h:102 [inline]
pc : list_lru_add+0x1e8/0x3b0 mm/list_lru.c:129
lr : list_lru_from_memcg_idx mm/list_lru.c:56 [inline]
lr : list_lru_from_kmem mm/list_lru.c:78 [inline]
lr : list_lru_add+0x188/0x3b0 mm/list_lru.c:128
sp : ffff800020896ad0
x29: ffff800020896ae0 x28: ffff0000cf9c8018 x27: dfff800000000000
x26: 0000000000000008 x25: ffff80001c312d7c x24: 0000000000000000
x23: 1fffe00019f39003 x22: 0000000000000001 x21: ffff0000c6ca4100
x20: ffff80001c312d60 x19: ffff0000cf9c8018 x18: 0000000000000000
x17: ffff8000181f9000 x16: ffff8000082d1108 x15: 0000000000000002
x14: 0000000000000406 x13: 0000000000ff0100 x12: 0000000000080000
x11: 0000000000004525 x10: 0000000000000003 x9 : 0000000000000000
x8 : 0000000000000010 x7 : ffff80001187b090 x6 : 0000000000000000
x5 : 0000000000000080 x4 : 0000000000000000 x3 : 0000000000000002
x2 : 0000000000000008 x1 : ffff800011abe900 x0 : 0000000000000000
Call trace:
list_add_tail include/linux/list.h:102 [inline]
list_lru_add+0x1e8/0x3b0 mm/list_lru.c:129
workingset_update_node+0x17c/0x210 mm/workingset.c:558
xas_update lib/xarray.c:356 [inline]
update_node lib/xarray.c:759 [inline]
xas_store+0xa44/0x14e4 lib/xarray.c:846
page_cache_delete mm/filemap.c:140 [inline]
__filemap_remove_folio+0x384/0x4d4 mm/filemap.c:223
__remove_mapping+0x5cc/0x83c mm/vmscan.c:1390
shrink_folio_list+0x20b8/0x4448 mm/vmscan.c:2037
reclaim_folio_list mm/vmscan.c:2695 [inline]
reclaim_pages+0x568/0x784 mm/vmscan.c:2731
madvise_cold_or_pageout_pte_range+0x11dc/0x18b4 mm/madvise.c:403
walk_pmd_range mm/pagewalk.c:128 [inline]
walk_pud_range mm/pagewalk.c:205 [inline]
walk_p4d_range mm/pagewalk.c:240 [inline]
walk_pgd_range+0x818/0xf98 mm/pagewalk.c:277
__walk_page_range+0x124/0x51c mm/pagewalk.c:379
walk_page_range+0x314/0x4a0 mm/pagewalk.c:477
madvise_pageout_page_range mm/madvise.c:552 [inline]
madvise_pageout mm/madvise.c:589 [inline]
madvise_vma_behavior mm/madvise.c:1030 [inline]
madvise_walk_vmas mm/madvise.c:1259 [inline]
do_madvise+0x18d4/0x2920 mm/madvise.c:1438
__do_sys_madvise mm/madvise.c:1451 [inline]
__se_sys_madvise mm/madvise.c:1449 [inline]
__arm64_sys_madvise+0xa4/0xc0 mm/madvise.c:1449
__invoke_syscall arch/arm64/kernel/syscall.c:38 [inline]
invoke_syscall+0x98/0x2bc arch/arm64/kernel/syscall.c:52
el0_svc_common+0x138/0x258 arch/arm64/kernel/syscall.c:140
do_el0_svc+0x58/0x13c arch/arm64/kernel/syscall.c:204
el0_svc+0x58/0x138 arch/arm64/kernel/entry-common.c:637
el0t_64_sync_handler+0x84/0xf0 arch/arm64/kernel/entry-common.c:655
el0t_64_sync+0x18c/0x190 arch/arm64/kernel/entry.S:585
Code: 8b091d08 91010118 9100231a d343ff56 (387b6ac8)
---[ end trace 0000000000000000 ]---
----------------
Code disassembly (best guess):
0: 8b091d08 add x8, x8, x9, lsl #7
4: 91010118 add x24, x8, #0x40
8: 9100231a add x26, x24, #0x8
c: d343ff56 lsr x22, x26, #3
* 10: 387b6ac8 ldrb w8, [x22, 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
Reply all
Reply to author
Forward
0 new messages