* [syzbot] [mm?] [bcachefs?] KASAN: slab-use-after-free Read in list_lru_del
@ 2025-02-06 17:01 syzbot
2025-03-07 22:42 ` syzbot
2025-11-28 21:46 ` [syzbot] [mm?] " syzbot
0 siblings, 2 replies; 4+ messages in thread
From: syzbot @ 2025-02-06 17:01 UTC (permalink / raw)
To: akpm, kent.overstreet, linux-bcachefs, linux-kernel, linux-mm,
syzkaller-bugs
Hello,
syzbot found the following issue on:
HEAD commit: 92514ef226f5 Merge tag 'for-6.14-rc1-tag' of git://git.ker..
git tree: upstream
console output: https://syzkaller.appspot.com/x/log.txt?x=126aa4a4580000
kernel config: https://syzkaller.appspot.com/x/.config?x=1909f2f0d8e641ce
dashboard link: https://syzkaller.appspot.com/bug?extid=6663075ddb9be85fa6e5
compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40
syz repro: https://syzkaller.appspot.com/x/repro.syz?x=14926df8580000
Downloadable assets:
disk image (non-bootable): https://storage.googleapis.com/syzbot-assets/7feb34a89c2a/non_bootable_disk-92514ef2.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/c4d8b91f8769/vmlinux-92514ef2.xz
kernel image: https://storage.googleapis.com/syzbot-assets/c24ec4365966/bzImage-92514ef2.xz
mounted in repro: https://storage.googleapis.com/syzbot-assets/efb05b29bf18/mount_0.gz
IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by: syzbot+6663075ddb9be85fa6e5@syzkaller.appspotmail.com
slab radix_tree_node start ffff8880411d9600 pointer offset 24 size 576
list_del corruption. next->prev should be ffff88803f847358, but was 0000000008000105. (next=ffff8880411d9618)
------------[ cut here ]------------
kernel BUG at lib/list_debug.c:67!
Oops: invalid opcode: 0000 [#1] PREEMPT SMP KASAN NOPTI
CPU: 0 UID: 0 PID: 5628 Comm: modprobe Not tainted 6.14.0-rc1-syzkaller-00034-g92514ef226f5 #0
Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2~bpo12+1 04/01/2014
RIP: 0010:__list_del_entry_valid_or_report+0x18c/0x190 lib/list_debug.c:65
Code: ba 56 15 fd 42 80 3c 2b 00 74 08 4c 89 e7 e8 7b 02 37 fd 49 8b 56 08 48 c7 c7 20 8f 60 8c 4c 89 fe 4c 89 f1 e8 65 10 38 fc 90 <0f> 0b 66 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 f3 0f
RSP: 0018:ffffc9000cdced10 EFLAGS: 00010046
RAX: 000000000000006d RBX: 1ffff1100823b2c4 RCX: a96f20814868f300
RDX: 0000000000000000 RSI: 0000000080000002 RDI: 0000000000000000
RBP: ffff888032fbde80 R08: ffffffff819f146c R09: fffffbfff1cfa588
R10: dffffc0000000000 R11: fffffbfff1cfa588 R12: ffff8880411d9620
R13: dffffc0000000000 R14: ffff8880411d9618 R15: ffff88803f847358
FS: 0000000000000000(0000) GS:ffff88801fc00000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007ff0ee1cb270 CR3: 0000000000712000 CR4: 0000000000352ef0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
<TASK>
__list_del_entry_valid include/linux/list.h:124 [inline]
__list_del_entry include/linux/list.h:215 [inline]
list_del_init include/linux/list.h:287 [inline]
list_lru_del+0x9a/0x1f0 mm/list_lru.c:206
list_lru_del_obj+0x17b/0x250 mm/list_lru.c:223
workingset_update_node+0x174/0x230 mm/workingset.c:636
xas_update lib/xarray.c:356 [inline]
update_node lib/xarray.c:764 [inline]
xas_store+0xb89/0x1870 lib/xarray.c:851
__filemap_add_folio+0xab1/0x1320 mm/filemap.c:925
filemap_add_folio+0x155/0x380 mm/filemap.c:981
__filemap_get_folio+0x52b/0xae0 mm/filemap.c:1980
grow_dev_folio fs/buffer.c:1039 [inline]
grow_buffers fs/buffer.c:1105 [inline]
__getblk_slow fs/buffer.c:1131 [inline]
bdev_getblk+0x1d4/0x670 fs/buffer.c:1431
getblk_unmovable include/linux/buffer_head.h:369 [inline]
ext4_getblk+0x31b/0x880 fs/ext4/inode.c:864
ext4_bread_batch+0x63/0x4e0 fs/ext4/inode.c:933
__ext4_find_entry+0xfab/0x1eb0 fs/ext4/namei.c:1627
ext4_lookup_entry fs/ext4/namei.c:1729 [inline]
ext4_lookup+0x15f/0x750 fs/ext4/namei.c:1797
__lookup_slow+0x296/0x400 fs/namei.c:1793
lookup_slow+0x53/0x70 fs/namei.c:1810
walk_component fs/namei.c:2114 [inline]
link_path_walk+0x99b/0xea0 fs/namei.c:2479
path_openat+0x266/0x3590 fs/namei.c:3985
do_filp_open+0x27f/0x4e0 fs/namei.c:4016
do_sys_openat2+0x13e/0x1d0 fs/open.c:1427
do_sys_open fs/open.c:1442 [inline]
__do_sys_openat fs/open.c:1458 [inline]
__se_sys_openat fs/open.c:1453 [inline]
__x64_sys_openat+0x247/0x2a0 fs/open.c:1453
do_syscall_x64 arch/x86/entry/common.c:52 [inline]
do_syscall_64+0xf3/0x230 arch/x86/entry/common.c:83
entry_SYSCALL_64_after_hwframe+0x77/0x7f
RIP: 0033:0x7ff0ee472a46
Code: 10 00 00 00 44 8b 54 24 e0 48 89 44 24 c0 48 8d 44 24 d0 48 89 44 24 c8 44 89 c2 4c 89 ce bf 9c ff ff ff b8 01 01 00 00 0f 05 <48> 3d 00 f0 ff ff 76 0c f7 d8 89 05 0a 48 01 00 48 83 c8 ff c3 31
RSP: 002b:00007ffdd50a1c28 EFLAGS: 00000287 ORIG_RAX: 0000000000000101
RAX: ffffffffffffffda RBX: 00007ffdd50a1e88 RCX: 00007ff0ee472a46
RDX: 0000000000080000 RSI: 00007ffdd50a1ca0 RDI: 00000000ffffff9c
RBP: 00007ffdd50a1c90 R08: 0000000000080000 R09: 00007ffdd50a1ca0
R10: 0000000000000000 R11: 0000000000000287 R12: 00007ffdd50a1ca0
R13: 0000000000000000 R14: 00007ffdd50a1e6f R15: 00000000ffffffff
</TASK>
Modules linked in:
---[ end trace 0000000000000000 ]---
RIP: 0010:__list_del_entry_valid_or_report+0x18c/0x190 lib/list_debug.c:65
Code: ba 56 15 fd 42 80 3c 2b 00 74 08 4c 89 e7 e8 7b 02 37 fd 49 8b 56 08 48 c7 c7 20 8f 60 8c 4c 89 fe 4c 89 f1 e8 65 10 38 fc 90 <0f> 0b 66 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 f3 0f
RSP: 0018:ffffc9000cdced10 EFLAGS: 00010046
RAX: 000000000000006d RBX: 1ffff1100823b2c4 RCX: a96f20814868f300
RDX: 0000000000000000 RSI: 0000000080000002 RDI: 0000000000000000
RBP: ffff888032fbde80 R08: ffffffff819f146c R09: fffffbfff1cfa588
R10: dffffc0000000000 R11: fffffbfff1cfa588 R12: ffff8880411d9620
R13: dffffc0000000000 R14: ffff8880411d9618 R15: ffff88803f847358
FS: 0000000000000000(0000) GS:ffff88801fc00000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007ff0ee1cb270 CR3: 0000000000712000 CR4: 0000000000352ef0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
---
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 syzkaller@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 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
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [syzbot] [mm?] [bcachefs?] KASAN: slab-use-after-free Read in list_lru_del
2025-02-06 17:01 [syzbot] [mm?] [bcachefs?] KASAN: slab-use-after-free Read in list_lru_del syzbot
@ 2025-03-07 22:42 ` syzbot
2025-11-28 21:46 ` [syzbot] [mm?] " syzbot
1 sibling, 0 replies; 4+ messages in thread
From: syzbot @ 2025-03-07 22:42 UTC (permalink / raw)
To: akpm, hughd, kent.overstreet, linux-bcachefs, linux-kernel,
linux-mm, syzkaller-bugs
syzbot has bisected this issue to:
commit 14152654805256d760315ec24e414363bfa19a06
Author: Kent Overstreet <kent.overstreet@linux.dev>
Date: Mon Nov 25 05:21:27 2024 +0000
bcachefs: Bad btree roots are now autofix
bisection log: https://syzkaller.appspot.com/x/bisect.txt?x=108d43a8580000
start commit: 03d38806a902 Merge tag 'thermal-6.14-rc5' of git://git.ker..
git tree: upstream
final oops: https://syzkaller.appspot.com/x/report.txt?x=128d43a8580000
console output: https://syzkaller.appspot.com/x/log.txt?x=148d43a8580000
kernel config: https://syzkaller.appspot.com/x/.config?x=8de9cc84d5960254
dashboard link: https://syzkaller.appspot.com/bug?extid=6663075ddb9be85fa6e5
syz repro: https://syzkaller.appspot.com/x/repro.syz?x=104d2864580000
Reported-by: syzbot+6663075ddb9be85fa6e5@syzkaller.appspotmail.com
Fixes: 141526548052 ("bcachefs: Bad btree roots are now autofix")
For information about bisection process see: https://goo.gl/tpsmEJ#bisection
^ permalink raw reply [flat|nested] 4+ messages in thread* Re: [syzbot] [mm?] KASAN: slab-use-after-free Read in list_lru_del
2025-02-06 17:01 [syzbot] [mm?] [bcachefs?] KASAN: slab-use-after-free Read in list_lru_del syzbot
2025-03-07 22:42 ` syzbot
@ 2025-11-28 21:46 ` syzbot
2025-11-29 18:34 ` Andrew Morton
1 sibling, 1 reply; 4+ messages in thread
From: syzbot @ 2025-11-28 21:46 UTC (permalink / raw)
To: akpm, david, hughd, kent.overstreet, linux-bcachefs,
linux-kernel, linux-mm, muchun.song, roman.gushchin,
syzkaller-bugs, zhengqi.arch
syzbot has found a reproducer for the following issue on:
HEAD commit: e538109ac71d Merge tag 'drm-fixes-2025-11-28' of https://g..
git tree: upstream
console output: https://syzkaller.appspot.com/x/log.txt?x=10fd2112580000
kernel config: https://syzkaller.appspot.com/x/.config?x=a1db0fea040c2a9f
dashboard link: https://syzkaller.appspot.com/bug?extid=6663075ddb9be85fa6e5
compiler: Debian clang version 20.1.8 (++20250708063551+0c9f909b7976-1~exp1~20250708183702.136), Debian LLD 20.1.8
syz repro: https://syzkaller.appspot.com/x/repro.syz?x=12fd2112580000
C reproducer: https://syzkaller.appspot.com/x/repro.c?x=15a10112580000
Downloadable assets:
disk image (non-bootable): https://storage.googleapis.com/syzbot-assets/d900f083ada3/non_bootable_disk-e538109a.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/3cf595fe0afc/vmlinux-e538109a.xz
kernel image: https://storage.googleapis.com/syzbot-assets/e6e26f95e409/bzImage-e538109a.xz
mounted in repro: https://storage.googleapis.com/syzbot-assets/445f48d13fdb/mount_7.gz
fsck result: failed (log: https://syzkaller.appspot.com/x/fsck.log?x=11a10112580000)
The issue was bisected to:
commit 14152654805256d760315ec24e414363bfa19a06
Author: Kent Overstreet <kent.overstreet@linux.dev>
Date: Mon Nov 25 05:21:27 2024 +0000
bcachefs: Bad btree roots are now autofix
bisection log: https://syzkaller.appspot.com/x/bisect.txt?x=108d43a8580000
final oops: https://syzkaller.appspot.com/x/report.txt?x=128d43a8580000
console output: https://syzkaller.appspot.com/x/log.txt?x=148d43a8580000
IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by: syzbot+6663075ddb9be85fa6e5@syzkaller.appspotmail.com
Fixes: 141526548052 ("bcachefs: Bad btree roots are now autofix")
==================================================================
BUG: KASAN: slab-use-after-free in __list_del_entry_valid_or_report+0xb5/0x190 lib/list_debug.c:65
Read of size 8 at addr ffff88800098a080 by task syz.0.17/5483
CPU: 0 UID: 0 PID: 5483 Comm: syz.0.17 Not tainted syzkaller #0 PREEMPT(full)
Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2~bpo12+1 04/01/2014
Call Trace:
<TASK>
dump_stack_lvl+0x189/0x250 lib/dump_stack.c:120
print_address_description mm/kasan/report.c:378 [inline]
print_report+0xca/0x240 mm/kasan/report.c:482
kasan_report+0x118/0x150 mm/kasan/report.c:595
__list_del_entry_valid_or_report+0xb5/0x190 lib/list_debug.c:65
__list_del_entry_valid include/linux/list.h:132 [inline]
__list_del_entry include/linux/list.h:223 [inline]
list_del_init include/linux/list.h:295 [inline]
list_lru_del+0x98/0x210 mm/list_lru.c:210
gfs2_quota_cleanup+0x21e/0x6f0 fs/gfs2/quota.c:1532
gfs2_make_fs_ro+0x27a/0x300 fs/gfs2/super.c:566
gfs2_put_super+0x224/0x950 fs/gfs2/super.c:598
generic_shutdown_super+0x135/0x2c0 fs/super.c:642
kill_block_super+0x44/0x90 fs/super.c:1729
deactivate_locked_super+0xbc/0x130 fs/super.c:473
cleanup_mnt+0x425/0x4c0 fs/namespace.c:1318
task_work_run+0x1d4/0x260 kernel/task_work.c:227
exit_task_work include/linux/task_work.h:40 [inline]
do_exit+0x6b5/0x2300 kernel/exit.c:966
do_group_exit+0x21c/0x2d0 kernel/exit.c:1107
__do_sys_exit_group kernel/exit.c:1118 [inline]
__se_sys_exit_group kernel/exit.c:1116 [inline]
__x64_sys_exit_group+0x3f/0x40 kernel/exit.c:1116
x64_sys_call+0x21f7/0x2200 arch/x86/include/generated/asm/syscalls_64.h:232
do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
do_syscall_64+0xfa/0xfa0 arch/x86/entry/syscall_64.c:94
entry_SYSCALL_64_after_hwframe+0x77/0x7f
RIP: 0033:0x7f4bb3d8f7c9
Code: Unable to access opcode bytes at 0x7f4bb3d8f79f.
RSP: 002b:00007ffd56395328 EFLAGS: 00000246 ORIG_RAX: 00000000000000e7
RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 00007f4bb3d8f7c9
RDX: 0000000000000064 RSI: 0000000000000000 RDI: 0000000000000000
RBP: 0000000000000003 R08: 0000001d5639541f R09: 00007f4bb3fb4280
R10: 0000000000000001 R11: 0000000000000246 R12: 0000000000000000
R13: 00007f4bb3fb4280 R14: 0000000000000003 R15: 00007ffd563953e0
</TASK>
Allocated by task 5483:
kasan_save_stack mm/kasan/common.c:56 [inline]
kasan_save_track+0x3e/0x80 mm/kasan/common.c:77
unpoison_slab_object mm/kasan/common.c:342 [inline]
__kasan_slab_alloc+0x6c/0x80 mm/kasan/common.c:368
kasan_slab_alloc include/linux/kasan.h:252 [inline]
slab_post_alloc_hook mm/slub.c:4978 [inline]
slab_alloc_node mm/slub.c:5288 [inline]
kmem_cache_alloc_noprof+0x367/0x6e0 mm/slub.c:5295
qd_alloc+0x50/0x250 fs/gfs2/quota.c:234
gfs2_quota_init+0x762/0x1200 fs/gfs2/quota.c:1448
gfs2_make_fs_rw+0x181/0x2b0 fs/gfs2/super.c:149
gfs2_fill_super+0x1a7b/0x20d0 fs/gfs2/ops_fstype.c:1280
get_tree_bdev_flags+0x40e/0x4d0 fs/super.c:1698
gfs2_get_tree+0x51/0x1e0 fs/gfs2/ops_fstype.c:1337
vfs_get_tree+0x92/0x2b0 fs/super.c:1758
fc_mount fs/namespace.c:1199 [inline]
do_new_mount_fc fs/namespace.c:3642 [inline]
do_new_mount+0x302/0xa10 fs/namespace.c:3718
do_mount fs/namespace.c:4041 [inline]
__do_sys_mount fs/namespace.c:4229 [inline]
__se_sys_mount+0x313/0x410 fs/namespace.c:4206
do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
do_syscall_64+0xfa/0xfa0 arch/x86/entry/syscall_64.c:94
entry_SYSCALL_64_after_hwframe+0x77/0x7f
Freed by task 15:
kasan_save_stack mm/kasan/common.c:56 [inline]
kasan_save_track+0x3e/0x80 mm/kasan/common.c:77
__kasan_save_free_info+0x46/0x50 mm/kasan/generic.c:587
kasan_save_free_info mm/kasan/kasan.h:406 [inline]
poison_slab_object mm/kasan/common.c:252 [inline]
__kasan_slab_free+0x5c/0x80 mm/kasan/common.c:284
kasan_slab_free include/linux/kasan.h:234 [inline]
slab_free_hook mm/slub.c:2543 [inline]
slab_free mm/slub.c:6642 [inline]
kmem_cache_free+0x19b/0x690 mm/slub.c:6752
gfs2_qd_dealloc+0x70/0xe0 fs/gfs2/quota.c:111
rcu_do_batch kernel/rcu/tree.c:2605 [inline]
rcu_core+0xcab/0x1770 kernel/rcu/tree.c:2861
handle_softirqs+0x286/0x870 kernel/softirq.c:622
run_ksoftirqd+0x9b/0x100 kernel/softirq.c:1063
smpboot_thread_fn+0x542/0xa60 kernel/smpboot.c:160
kthread+0x711/0x8a0 kernel/kthread.c:463
ret_from_fork+0x4bc/0x870 arch/x86/kernel/process.c:158
ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245
Last potentially related work creation:
kasan_save_stack+0x3e/0x60 mm/kasan/common.c:56
kasan_record_aux_stack+0xbd/0xd0 mm/kasan/generic.c:559
__call_rcu_common kernel/rcu/tree.c:3123 [inline]
call_rcu+0x157/0x9c0 kernel/rcu/tree.c:3243
gfs2_quota_sync+0x3c4/0x460 fs/gfs2/quota.c:1361
gfs2_sync_fs+0x4c/0xb0 fs/gfs2/super.c:658
sync_filesystem+0xee/0x230 fs/sync.c:56
generic_shutdown_super+0x6f/0x2c0 fs/super.c:621
kill_block_super+0x44/0x90 fs/super.c:1729
deactivate_locked_super+0xbc/0x130 fs/super.c:473
cleanup_mnt+0x425/0x4c0 fs/namespace.c:1318
task_work_run+0x1d4/0x260 kernel/task_work.c:227
exit_task_work include/linux/task_work.h:40 [inline]
do_exit+0x6b5/0x2300 kernel/exit.c:966
do_group_exit+0x21c/0x2d0 kernel/exit.c:1107
__do_sys_exit_group kernel/exit.c:1118 [inline]
__se_sys_exit_group kernel/exit.c:1116 [inline]
__x64_sys_exit_group+0x3f/0x40 kernel/exit.c:1116
x64_sys_call+0x21f7/0x2200 arch/x86/include/generated/asm/syscalls_64.h:232
do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
do_syscall_64+0xfa/0xfa0 arch/x86/entry/syscall_64.c:94
entry_SYSCALL_64_after_hwframe+0x77/0x7f
The buggy address belongs to the object at ffff88800098a000
which belongs to the cache gfs2_quotad of size 272
The buggy address is located 128 bytes inside of
freed 272-byte region [ffff88800098a000, ffff88800098a110)
The buggy address belongs to the physical page:
page: refcount:0 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x98a
flags: 0x7ff00000000000(node=0|zone=0|lastcpupid=0x7ff)
page_type: f5(slab)
raw: 007ff00000000000 ffff888032687dc0 dead000000000122 0000000000000000
raw: 0000000000000000 00000000800c000c 00000000f5000000 0000000000000000
page dumped because: kasan: bad access detected
page_owner tracks the page as allocated
page last allocated via order 0, migratetype Reclaimable, gfp_mask 0x52c50(GFP_NOFS|__GFP_RECLAIMABLE|__GFP_NOWARN|__GFP_NORETRY|__GFP_COMP), pid 5483, tgid 5483 (syz.0.17), ts 105510017652, free_ts 102275632308
set_page_owner include/linux/page_owner.h:32 [inline]
post_alloc_hook+0x234/0x290 mm/page_alloc.c:1845
prep_new_page mm/page_alloc.c:1853 [inline]
get_page_from_freelist+0x2365/0x2440 mm/page_alloc.c:3879
__alloc_frozen_pages_noprof+0x181/0x370 mm/page_alloc.c:5178
alloc_pages_mpol+0x232/0x4a0 mm/mempolicy.c:2416
alloc_slab_page mm/slub.c:3059 [inline]
allocate_slab+0x96/0x350 mm/slub.c:3232
new_slab mm/slub.c:3286 [inline]
___slab_alloc+0xf56/0x1990 mm/slub.c:4655
__slab_alloc+0x65/0x100 mm/slub.c:4778
__slab_alloc_node mm/slub.c:4854 [inline]
slab_alloc_node mm/slub.c:5276 [inline]
kmem_cache_alloc_noprof+0x3f9/0x6e0 mm/slub.c:5295
qd_alloc+0x50/0x250 fs/gfs2/quota.c:234
gfs2_quota_init+0x762/0x1200 fs/gfs2/quota.c:1448
gfs2_make_fs_rw+0x181/0x2b0 fs/gfs2/super.c:149
gfs2_fill_super+0x1a7b/0x20d0 fs/gfs2/ops_fstype.c:1280
get_tree_bdev_flags+0x40e/0x4d0 fs/super.c:1698
gfs2_get_tree+0x51/0x1e0 fs/gfs2/ops_fstype.c:1337
vfs_get_tree+0x92/0x2b0 fs/super.c:1758
fc_mount fs/namespace.c:1199 [inline]
do_new_mount_fc fs/namespace.c:3642 [inline]
do_new_mount+0x302/0xa10 fs/namespace.c:3718
page last free pid 5433 tgid 5433 stack trace:
reset_page_owner include/linux/page_owner.h:25 [inline]
free_pages_prepare mm/page_alloc.c:1394 [inline]
free_unref_folios+0xdb3/0x14f0 mm/page_alloc.c:2958
folios_put_refs+0x584/0x670 mm/swap.c:1002
free_pages_and_swap_cache+0x4be/0x520 mm/swap_state.c:358
__tlb_batch_free_encoded_pages mm/mmu_gather.c:136 [inline]
tlb_batch_pages_flush mm/mmu_gather.c:149 [inline]
tlb_flush_mmu_free mm/mmu_gather.c:397 [inline]
tlb_flush_mmu+0x3a0/0x680 mm/mmu_gather.c:404
tlb_finish_mmu+0xc3/0x1d0 mm/mmu_gather.c:497
exit_mmap+0x444/0xb40 mm/mmap.c:1293
__mmput+0x118/0x430 kernel/fork.c:1133
exit_mm+0x1da/0x2c0 kernel/exit.c:582
do_exit+0x648/0x2300 kernel/exit.c:954
do_group_exit+0x21c/0x2d0 kernel/exit.c:1107
__do_sys_exit_group kernel/exit.c:1118 [inline]
__se_sys_exit_group kernel/exit.c:1116 [inline]
__x64_sys_exit_group+0x3f/0x40 kernel/exit.c:1116
x64_sys_call+0x21f7/0x2200 arch/x86/include/generated/asm/syscalls_64.h:232
do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
do_syscall_64+0xfa/0xfa0 arch/x86/entry/syscall_64.c:94
entry_SYSCALL_64_after_hwframe+0x77/0x7f
Memory state around the buggy address:
ffff888000989f80: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
ffff88800098a000: fa fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
>ffff88800098a080: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
^
ffff88800098a100: fb fb fc fc fc fc fc fc fc fc 00 00 00 00 00 00
ffff88800098a180: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
==================================================================
---
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.
^ permalink raw reply [flat|nested] 4+ messages in thread* Re: [syzbot] [mm?] KASAN: slab-use-after-free Read in list_lru_del
2025-11-28 21:46 ` [syzbot] [mm?] " syzbot
@ 2025-11-29 18:34 ` Andrew Morton
0 siblings, 0 replies; 4+ messages in thread
From: Andrew Morton @ 2025-11-29 18:34 UTC (permalink / raw)
To: syzbot
Cc: david, hughd, kent.overstreet, linux-bcachefs, linux-kernel,
linux-mm, muchun.song, roman.gushchin, syzkaller-bugs,
zhengqi.arch, gfs2
On Fri, 28 Nov 2025 13:46:26 -0800 syzbot <syzbot+6663075ddb9be85fa6e5@syzkaller.appspotmail.com> wrote:
> syzbot has found a reproducer for the following issue on:
>
> HEAD commit: e538109ac71d Merge tag 'drm-fixes-2025-11-28' of https://g..
> git tree: upstream
> console output: https://syzkaller.appspot.com/x/log.txt?x=10fd2112580000
> kernel config: https://syzkaller.appspot.com/x/.config?x=a1db0fea040c2a9f
> dashboard link: https://syzkaller.appspot.com/bug?extid=6663075ddb9be85fa6e5
> compiler: Debian clang version 20.1.8 (++20250708063551+0c9f909b7976-1~exp1~20250708183702.136), Debian LLD 20.1.8
> syz repro: https://syzkaller.appspot.com/x/repro.syz?x=12fd2112580000
> C reproducer: https://syzkaller.appspot.com/x/repro.c?x=15a10112580000
>
> Downloadable assets:
> disk image (non-bootable): https://storage.googleapis.com/syzbot-assets/d900f083ada3/non_bootable_disk-e538109a.raw.xz
> vmlinux: https://storage.googleapis.com/syzbot-assets/3cf595fe0afc/vmlinux-e538109a.xz
> kernel image: https://storage.googleapis.com/syzbot-assets/e6e26f95e409/bzImage-e538109a.xz
> mounted in repro: https://storage.googleapis.com/syzbot-assets/445f48d13fdb/mount_7.gz
> fsck result: failed (log: https://syzkaller.appspot.com/x/fsck.log?x=11a10112580000)
>
> The issue was bisected to:
>
> commit 14152654805256d760315ec24e414363bfa19a06
> Author: Kent Overstreet <kent.overstreet@linux.dev>
> Date: Mon Nov 25 05:21:27 2024 +0000
>
> bcachefs: Bad btree roots are now autofix
>
> bisection log: https://syzkaller.appspot.com/x/bisect.txt?x=108d43a8580000
> final oops: https://syzkaller.appspot.com/x/report.txt?x=128d43a8580000
> console output: https://syzkaller.appspot.com/x/log.txt?x=148d43a8580000
Thanks.
Bisection obviously went wrong.
I'll cc the gfs2 list.
> IMPORTANT: if you fix the issue, please add the following tag to the commit:
> Reported-by: syzbot+6663075ddb9be85fa6e5@syzkaller.appspotmail.com
> Fixes: 141526548052 ("bcachefs: Bad btree roots are now autofix")
>
> ==================================================================
> BUG: KASAN: slab-use-after-free in __list_del_entry_valid_or_report+0xb5/0x190 lib/list_debug.c:65
> Read of size 8 at addr ffff88800098a080 by task syz.0.17/5483
>
> CPU: 0 UID: 0 PID: 5483 Comm: syz.0.17 Not tainted syzkaller #0 PREEMPT(full)
> Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2~bpo12+1 04/01/2014
> Call Trace:
> <TASK>
> dump_stack_lvl+0x189/0x250 lib/dump_stack.c:120
> print_address_description mm/kasan/report.c:378 [inline]
> print_report+0xca/0x240 mm/kasan/report.c:482
> kasan_report+0x118/0x150 mm/kasan/report.c:595
> __list_del_entry_valid_or_report+0xb5/0x190 lib/list_debug.c:65
> __list_del_entry_valid include/linux/list.h:132 [inline]
> __list_del_entry include/linux/list.h:223 [inline]
> list_del_init include/linux/list.h:295 [inline]
> list_lru_del+0x98/0x210 mm/list_lru.c:210
> gfs2_quota_cleanup+0x21e/0x6f0 fs/gfs2/quota.c:1532
> gfs2_make_fs_ro+0x27a/0x300 fs/gfs2/super.c:566
> gfs2_put_super+0x224/0x950 fs/gfs2/super.c:598
> generic_shutdown_super+0x135/0x2c0 fs/super.c:642
> kill_block_super+0x44/0x90 fs/super.c:1729
> deactivate_locked_super+0xbc/0x130 fs/super.c:473
> cleanup_mnt+0x425/0x4c0 fs/namespace.c:1318
> task_work_run+0x1d4/0x260 kernel/task_work.c:227
> exit_task_work include/linux/task_work.h:40 [inline]
> do_exit+0x6b5/0x2300 kernel/exit.c:966
> do_group_exit+0x21c/0x2d0 kernel/exit.c:1107
> __do_sys_exit_group kernel/exit.c:1118 [inline]
> __se_sys_exit_group kernel/exit.c:1116 [inline]
> __x64_sys_exit_group+0x3f/0x40 kernel/exit.c:1116
> x64_sys_call+0x21f7/0x2200 arch/x86/include/generated/asm/syscalls_64.h:232
> do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
> do_syscall_64+0xfa/0xfa0 arch/x86/entry/syscall_64.c:94
> entry_SYSCALL_64_after_hwframe+0x77/0x7f
> RIP: 0033:0x7f4bb3d8f7c9
> Code: Unable to access opcode bytes at 0x7f4bb3d8f79f.
> RSP: 002b:00007ffd56395328 EFLAGS: 00000246 ORIG_RAX: 00000000000000e7
> RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 00007f4bb3d8f7c9
> RDX: 0000000000000064 RSI: 0000000000000000 RDI: 0000000000000000
> RBP: 0000000000000003 R08: 0000001d5639541f R09: 00007f4bb3fb4280
> R10: 0000000000000001 R11: 0000000000000246 R12: 0000000000000000
> R13: 00007f4bb3fb4280 R14: 0000000000000003 R15: 00007ffd563953e0
> </TASK>
>
> Allocated by task 5483:
> kasan_save_stack mm/kasan/common.c:56 [inline]
> kasan_save_track+0x3e/0x80 mm/kasan/common.c:77
> unpoison_slab_object mm/kasan/common.c:342 [inline]
> __kasan_slab_alloc+0x6c/0x80 mm/kasan/common.c:368
> kasan_slab_alloc include/linux/kasan.h:252 [inline]
> slab_post_alloc_hook mm/slub.c:4978 [inline]
> slab_alloc_node mm/slub.c:5288 [inline]
> kmem_cache_alloc_noprof+0x367/0x6e0 mm/slub.c:5295
> qd_alloc+0x50/0x250 fs/gfs2/quota.c:234
> gfs2_quota_init+0x762/0x1200 fs/gfs2/quota.c:1448
> gfs2_make_fs_rw+0x181/0x2b0 fs/gfs2/super.c:149
> gfs2_fill_super+0x1a7b/0x20d0 fs/gfs2/ops_fstype.c:1280
> get_tree_bdev_flags+0x40e/0x4d0 fs/super.c:1698
> gfs2_get_tree+0x51/0x1e0 fs/gfs2/ops_fstype.c:1337
> vfs_get_tree+0x92/0x2b0 fs/super.c:1758
> fc_mount fs/namespace.c:1199 [inline]
> do_new_mount_fc fs/namespace.c:3642 [inline]
> do_new_mount+0x302/0xa10 fs/namespace.c:3718
> do_mount fs/namespace.c:4041 [inline]
> __do_sys_mount fs/namespace.c:4229 [inline]
> __se_sys_mount+0x313/0x410 fs/namespace.c:4206
> do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
> do_syscall_64+0xfa/0xfa0 arch/x86/entry/syscall_64.c:94
> entry_SYSCALL_64_after_hwframe+0x77/0x7f
>
> Freed by task 15:
> kasan_save_stack mm/kasan/common.c:56 [inline]
> kasan_save_track+0x3e/0x80 mm/kasan/common.c:77
> __kasan_save_free_info+0x46/0x50 mm/kasan/generic.c:587
> kasan_save_free_info mm/kasan/kasan.h:406 [inline]
> poison_slab_object mm/kasan/common.c:252 [inline]
> __kasan_slab_free+0x5c/0x80 mm/kasan/common.c:284
> kasan_slab_free include/linux/kasan.h:234 [inline]
> slab_free_hook mm/slub.c:2543 [inline]
> slab_free mm/slub.c:6642 [inline]
> kmem_cache_free+0x19b/0x690 mm/slub.c:6752
> gfs2_qd_dealloc+0x70/0xe0 fs/gfs2/quota.c:111
> rcu_do_batch kernel/rcu/tree.c:2605 [inline]
> rcu_core+0xcab/0x1770 kernel/rcu/tree.c:2861
> handle_softirqs+0x286/0x870 kernel/softirq.c:622
> run_ksoftirqd+0x9b/0x100 kernel/softirq.c:1063
> smpboot_thread_fn+0x542/0xa60 kernel/smpboot.c:160
> kthread+0x711/0x8a0 kernel/kthread.c:463
> ret_from_fork+0x4bc/0x870 arch/x86/kernel/process.c:158
> ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245
>
> Last potentially related work creation:
> kasan_save_stack+0x3e/0x60 mm/kasan/common.c:56
> kasan_record_aux_stack+0xbd/0xd0 mm/kasan/generic.c:559
> __call_rcu_common kernel/rcu/tree.c:3123 [inline]
> call_rcu+0x157/0x9c0 kernel/rcu/tree.c:3243
> gfs2_quota_sync+0x3c4/0x460 fs/gfs2/quota.c:1361
> gfs2_sync_fs+0x4c/0xb0 fs/gfs2/super.c:658
> sync_filesystem+0xee/0x230 fs/sync.c:56
> generic_shutdown_super+0x6f/0x2c0 fs/super.c:621
> kill_block_super+0x44/0x90 fs/super.c:1729
> deactivate_locked_super+0xbc/0x130 fs/super.c:473
> cleanup_mnt+0x425/0x4c0 fs/namespace.c:1318
> task_work_run+0x1d4/0x260 kernel/task_work.c:227
> exit_task_work include/linux/task_work.h:40 [inline]
> do_exit+0x6b5/0x2300 kernel/exit.c:966
> do_group_exit+0x21c/0x2d0 kernel/exit.c:1107
> __do_sys_exit_group kernel/exit.c:1118 [inline]
> __se_sys_exit_group kernel/exit.c:1116 [inline]
> __x64_sys_exit_group+0x3f/0x40 kernel/exit.c:1116
> x64_sys_call+0x21f7/0x2200 arch/x86/include/generated/asm/syscalls_64.h:232
> do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
> do_syscall_64+0xfa/0xfa0 arch/x86/entry/syscall_64.c:94
> entry_SYSCALL_64_after_hwframe+0x77/0x7f
>
> The buggy address belongs to the object at ffff88800098a000
> which belongs to the cache gfs2_quotad of size 272
> The buggy address is located 128 bytes inside of
> freed 272-byte region [ffff88800098a000, ffff88800098a110)
>
> The buggy address belongs to the physical page:
> page: refcount:0 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x98a
> flags: 0x7ff00000000000(node=0|zone=0|lastcpupid=0x7ff)
> page_type: f5(slab)
> raw: 007ff00000000000 ffff888032687dc0 dead000000000122 0000000000000000
> raw: 0000000000000000 00000000800c000c 00000000f5000000 0000000000000000
> page dumped because: kasan: bad access detected
> page_owner tracks the page as allocated
> page last allocated via order 0, migratetype Reclaimable, gfp_mask 0x52c50(GFP_NOFS|__GFP_RECLAIMABLE|__GFP_NOWARN|__GFP_NORETRY|__GFP_COMP), pid 5483, tgid 5483 (syz.0.17), ts 105510017652, free_ts 102275632308
> set_page_owner include/linux/page_owner.h:32 [inline]
> post_alloc_hook+0x234/0x290 mm/page_alloc.c:1845
> prep_new_page mm/page_alloc.c:1853 [inline]
> get_page_from_freelist+0x2365/0x2440 mm/page_alloc.c:3879
> __alloc_frozen_pages_noprof+0x181/0x370 mm/page_alloc.c:5178
> alloc_pages_mpol+0x232/0x4a0 mm/mempolicy.c:2416
> alloc_slab_page mm/slub.c:3059 [inline]
> allocate_slab+0x96/0x350 mm/slub.c:3232
> new_slab mm/slub.c:3286 [inline]
> ___slab_alloc+0xf56/0x1990 mm/slub.c:4655
> __slab_alloc+0x65/0x100 mm/slub.c:4778
> __slab_alloc_node mm/slub.c:4854 [inline]
> slab_alloc_node mm/slub.c:5276 [inline]
> kmem_cache_alloc_noprof+0x3f9/0x6e0 mm/slub.c:5295
> qd_alloc+0x50/0x250 fs/gfs2/quota.c:234
> gfs2_quota_init+0x762/0x1200 fs/gfs2/quota.c:1448
> gfs2_make_fs_rw+0x181/0x2b0 fs/gfs2/super.c:149
> gfs2_fill_super+0x1a7b/0x20d0 fs/gfs2/ops_fstype.c:1280
> get_tree_bdev_flags+0x40e/0x4d0 fs/super.c:1698
> gfs2_get_tree+0x51/0x1e0 fs/gfs2/ops_fstype.c:1337
> vfs_get_tree+0x92/0x2b0 fs/super.c:1758
> fc_mount fs/namespace.c:1199 [inline]
> do_new_mount_fc fs/namespace.c:3642 [inline]
> do_new_mount+0x302/0xa10 fs/namespace.c:3718
> page last free pid 5433 tgid 5433 stack trace:
> reset_page_owner include/linux/page_owner.h:25 [inline]
> free_pages_prepare mm/page_alloc.c:1394 [inline]
> free_unref_folios+0xdb3/0x14f0 mm/page_alloc.c:2958
> folios_put_refs+0x584/0x670 mm/swap.c:1002
> free_pages_and_swap_cache+0x4be/0x520 mm/swap_state.c:358
> __tlb_batch_free_encoded_pages mm/mmu_gather.c:136 [inline]
> tlb_batch_pages_flush mm/mmu_gather.c:149 [inline]
> tlb_flush_mmu_free mm/mmu_gather.c:397 [inline]
> tlb_flush_mmu+0x3a0/0x680 mm/mmu_gather.c:404
> tlb_finish_mmu+0xc3/0x1d0 mm/mmu_gather.c:497
> exit_mmap+0x444/0xb40 mm/mmap.c:1293
> __mmput+0x118/0x430 kernel/fork.c:1133
> exit_mm+0x1da/0x2c0 kernel/exit.c:582
> do_exit+0x648/0x2300 kernel/exit.c:954
> do_group_exit+0x21c/0x2d0 kernel/exit.c:1107
> __do_sys_exit_group kernel/exit.c:1118 [inline]
> __se_sys_exit_group kernel/exit.c:1116 [inline]
> __x64_sys_exit_group+0x3f/0x40 kernel/exit.c:1116
> x64_sys_call+0x21f7/0x2200 arch/x86/include/generated/asm/syscalls_64.h:232
> do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
> do_syscall_64+0xfa/0xfa0 arch/x86/entry/syscall_64.c:94
> entry_SYSCALL_64_after_hwframe+0x77/0x7f
>
> Memory state around the buggy address:
> ffff888000989f80: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
> ffff88800098a000: fa fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
> >ffff88800098a080: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
> ^
> ffff88800098a100: fb fb fc fc fc fc fc fc fc fc 00 00 00 00 00 00
> ffff88800098a180: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> ==================================================================
>
>
> ---
> 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.
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2025-11-29 18:34 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-02-06 17:01 [syzbot] [mm?] [bcachefs?] KASAN: slab-use-after-free Read in list_lru_del syzbot
2025-03-07 22:42 ` syzbot
2025-11-28 21:46 ` [syzbot] [mm?] " syzbot
2025-11-29 18:34 ` Andrew Morton
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox