Date
July 5, 2025, 11:11 p.m.
Environment | |
---|---|
qemu-arm64 | |
qemu-x86_64 |
[ 18.203896] ================================================================== [ 18.204058] BUG: KASAN: slab-use-after-free in kmalloc_double_kzfree+0x168/0x308 [ 18.204146] Read of size 1 at addr fff00000c59fcc20 by task kunit_try_catch/192 [ 18.204211] [ 18.204244] CPU: 0 UID: 0 PID: 192 Comm: kunit_try_catch Tainted: G B N 6.16.0-rc4 #1 PREEMPT [ 18.204326] Tainted: [B]=BAD_PAGE, [N]=TEST [ 18.204698] Hardware name: linux,dummy-virt (DT) [ 18.204772] Call trace: [ 18.204796] show_stack+0x20/0x38 (C) [ 18.205000] dump_stack_lvl+0x8c/0xd0 [ 18.205186] print_report+0x118/0x608 [ 18.205342] kasan_report+0xdc/0x128 [ 18.205494] __kasan_check_byte+0x54/0x70 [ 18.205712] kfree_sensitive+0x30/0xb0 [ 18.205767] kmalloc_double_kzfree+0x168/0x308 [ 18.206141] kunit_try_run_case+0x170/0x3f0 [ 18.206323] kunit_generic_run_threadfn_adapter+0x88/0x100 [ 18.206537] kthread+0x328/0x630 [ 18.206690] ret_from_fork+0x10/0x20 [ 18.206772] [ 18.206792] Allocated by task 192: [ 18.206883] kasan_save_stack+0x3c/0x68 [ 18.207288] kasan_save_track+0x20/0x40 [ 18.207407] kasan_save_alloc_info+0x40/0x58 [ 18.207556] __kasan_kmalloc+0xd4/0xd8 [ 18.207754] __kmalloc_cache_noprof+0x16c/0x3c0 [ 18.207814] kmalloc_double_kzfree+0xb8/0x308 [ 18.208206] kunit_try_run_case+0x170/0x3f0 [ 18.208307] kunit_generic_run_threadfn_adapter+0x88/0x100 [ 18.208459] kthread+0x328/0x630 [ 18.208644] ret_from_fork+0x10/0x20 [ 18.208758] [ 18.208831] Freed by task 192: [ 18.208862] kasan_save_stack+0x3c/0x68 [ 18.208903] kasan_save_track+0x20/0x40 [ 18.208940] kasan_save_free_info+0x4c/0x78 [ 18.208980] __kasan_slab_free+0x6c/0x98 [ 18.209339] kfree+0x214/0x3c8 [ 18.209494] kfree_sensitive+0x80/0xb0 [ 18.209658] kmalloc_double_kzfree+0x11c/0x308 [ 18.209829] kunit_try_run_case+0x170/0x3f0 [ 18.209910] kunit_generic_run_threadfn_adapter+0x88/0x100 [ 18.209964] kthread+0x328/0x630 [ 18.209999] ret_from_fork+0x10/0x20 [ 18.210211] [ 18.210368] The buggy address belongs to the object at fff00000c59fcc20 [ 18.210368] which belongs to the cache kmalloc-16 of size 16 [ 18.210461] The buggy address is located 0 bytes inside of [ 18.210461] freed 16-byte region [fff00000c59fcc20, fff00000c59fcc30) [ 18.210611] [ 18.210701] The buggy address belongs to the physical page: [ 18.210841] page: refcount:0 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x1059fc [ 18.211230] flags: 0xbfffe0000000000(node=0|zone=2|lastcpupid=0x1ffff) [ 18.211309] page_type: f5(slab) [ 18.211510] raw: 0bfffe0000000000 fff00000c0001640 dead000000000122 0000000000000000 [ 18.211736] raw: 0000000000000000 0000000080800080 00000000f5000000 0000000000000000 [ 18.211777] page dumped because: kasan: bad access detected [ 18.212110] [ 18.212172] Memory state around the buggy address: [ 18.212209] fff00000c59fcb00: fa fb fc fc fa fb fc fc 00 04 fc fc fa fb fc fc [ 18.212551] fff00000c59fcb80: fa fb fc fc fa fb fc fc fa fb fc fc fa fb fc fc [ 18.212642] >fff00000c59fcc00: fa fb fc fc fa fb fc fc fc fc fc fc fc fc fc fc [ 18.212849] ^ [ 18.212884] fff00000c59fcc80: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc [ 18.213234] fff00000c59fcd00: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc [ 18.213296] ==================================================================
[ 13.943165] ================================================================== [ 13.944658] BUG: KASAN: slab-use-after-free in kmalloc_double_kzfree+0x19c/0x350 [ 13.944985] Read of size 1 at addr ffff888102509f00 by task kunit_try_catch/210 [ 13.945252] [ 13.945369] CPU: 1 UID: 0 PID: 210 Comm: kunit_try_catch Tainted: G B N 6.16.0-rc4 #1 PREEMPT(voluntary) [ 13.945421] Tainted: [B]=BAD_PAGE, [N]=TEST [ 13.945435] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2 04/01/2014 [ 13.945460] Call Trace: [ 13.945476] <TASK> [ 13.945497] dump_stack_lvl+0x73/0xb0 [ 13.945534] print_report+0xd1/0x650 [ 13.945561] ? __virt_addr_valid+0x1db/0x2d0 [ 13.945586] ? kmalloc_double_kzfree+0x19c/0x350 [ 13.945613] ? kasan_complete_mode_report_info+0x64/0x200 [ 13.945638] ? kmalloc_double_kzfree+0x19c/0x350 [ 13.945664] kasan_report+0x141/0x180 [ 13.945690] ? kmalloc_double_kzfree+0x19c/0x350 [ 13.945719] ? kmalloc_double_kzfree+0x19c/0x350 [ 13.945745] __kasan_check_byte+0x3d/0x50 [ 13.945769] kfree_sensitive+0x22/0x90 [ 13.945806] kmalloc_double_kzfree+0x19c/0x350 [ 13.945833] ? __pfx_kmalloc_double_kzfree+0x10/0x10 [ 13.945859] ? __schedule+0x10cc/0x2b60 [ 13.945885] ? __pfx_read_tsc+0x10/0x10 [ 13.945908] ? ktime_get_ts64+0x86/0x230 [ 13.945935] kunit_try_run_case+0x1a5/0x480 [ 13.945962] ? __pfx_kunit_try_run_case+0x10/0x10 [ 13.945986] ? _raw_spin_lock_irqsave+0xa1/0x100 [ 13.946015] ? _raw_spin_unlock_irqrestore+0x5f/0x90 [ 13.946042] ? __kthread_parkme+0x82/0x180 [ 13.946066] ? preempt_count_sub+0x50/0x80 [ 13.946093] ? __pfx_kunit_try_run_case+0x10/0x10 [ 13.946118] kunit_generic_run_threadfn_adapter+0x85/0xf0 [ 13.946143] ? __pfx_kunit_generic_run_threadfn_adapter+0x10/0x10 [ 13.946168] kthread+0x337/0x6f0 [ 13.946191] ? trace_preempt_on+0x20/0xc0 [ 13.946218] ? __pfx_kthread+0x10/0x10 [ 13.946242] ? _raw_spin_unlock_irq+0x47/0x80 [ 13.946266] ? calculate_sigpending+0x7b/0xa0 [ 13.946293] ? __pfx_kthread+0x10/0x10 [ 13.946319] ret_from_fork+0x116/0x1d0 [ 13.946341] ? __pfx_kthread+0x10/0x10 [ 13.946364] ret_from_fork_asm+0x1a/0x30 [ 13.946399] </TASK> [ 13.946414] [ 13.964525] Allocated by task 210: [ 13.964993] kasan_save_stack+0x45/0x70 [ 13.965460] kasan_save_track+0x18/0x40 [ 13.965883] kasan_save_alloc_info+0x3b/0x50 [ 13.966387] __kasan_kmalloc+0xb7/0xc0 [ 13.966865] __kmalloc_cache_noprof+0x189/0x420 [ 13.967356] kmalloc_double_kzfree+0xa9/0x350 [ 13.967531] kunit_try_run_case+0x1a5/0x480 [ 13.967699] kunit_generic_run_threadfn_adapter+0x85/0xf0 [ 13.967916] kthread+0x337/0x6f0 [ 13.968056] ret_from_fork+0x116/0x1d0 [ 13.968472] ret_from_fork_asm+0x1a/0x30 [ 13.968963] [ 13.969189] Freed by task 210: [ 13.969623] kasan_save_stack+0x45/0x70 [ 13.970032] kasan_save_track+0x18/0x40 [ 13.970568] kasan_save_free_info+0x3f/0x60 [ 13.971178] __kasan_slab_free+0x56/0x70 [ 13.971639] kfree+0x222/0x3f0 [ 13.972004] kfree_sensitive+0x67/0x90 [ 13.972452] kmalloc_double_kzfree+0x12b/0x350 [ 13.972919] kunit_try_run_case+0x1a5/0x480 [ 13.973485] kunit_generic_run_threadfn_adapter+0x85/0xf0 [ 13.974035] kthread+0x337/0x6f0 [ 13.974471] ret_from_fork+0x116/0x1d0 [ 13.974936] ret_from_fork_asm+0x1a/0x30 [ 13.975522] [ 13.975697] The buggy address belongs to the object at ffff888102509f00 [ 13.975697] which belongs to the cache kmalloc-16 of size 16 [ 13.976154] The buggy address is located 0 bytes inside of [ 13.976154] freed 16-byte region [ffff888102509f00, ffff888102509f10) [ 13.977501] [ 13.977696] The buggy address belongs to the physical page: [ 13.978291] page: refcount:0 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x102509 [ 13.979383] flags: 0x200000000000000(node=0|zone=2) [ 13.979929] page_type: f5(slab) [ 13.980291] raw: 0200000000000000 ffff888100041640 dead000000000122 0000000000000000 [ 13.980835] raw: 0000000000000000 0000000080800080 00000000f5000000 0000000000000000 [ 13.981109] page dumped because: kasan: bad access detected [ 13.981878] [ 13.982066] Memory state around the buggy address: [ 13.982699] ffff888102509e00: 00 02 fc fc 00 02 fc fc 00 02 fc fc 00 02 fc fc [ 13.983623] ffff888102509e80: fa fb fc fc fa fb fc fc fa fb fc fc fa fb fc fc [ 13.984363] >ffff888102509f00: fa fb fc fc fc fc fc fc fc fc fc fc fc fc fc fc [ 13.984604] ^ [ 13.984735] ffff888102509f80: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc [ 13.984989] ffff88810250a000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [ 13.985242] ==================================================================