Date
May 29, 2025, 7:10 a.m.
Environment | |
---|---|
qemu-arm64 | |
qemu-x86_64 |
[ 21.976311] ================================================================== [ 21.976636] BUG: KASAN: slab-use-after-free in kmalloc_double_kzfree+0x168/0x308 [ 21.976879] Read of size 1 at addr fff00000c66b10c0 by task kunit_try_catch/192 [ 21.977051] [ 21.977141] CPU: 1 UID: 0 PID: 192 Comm: kunit_try_catch Tainted: G B N 6.15.0-next-20250529 #1 PREEMPT [ 21.977436] Tainted: [B]=BAD_PAGE, [N]=TEST [ 21.977494] Hardware name: linux,dummy-virt (DT) [ 21.977570] Call trace: [ 21.977622] show_stack+0x20/0x38 (C) [ 21.978146] dump_stack_lvl+0x8c/0xd0 [ 21.978307] print_report+0x118/0x608 [ 21.978507] kasan_report+0xdc/0x128 [ 21.978617] __kasan_check_byte+0x54/0x70 [ 21.978734] kfree_sensitive+0x30/0xb0 [ 21.978842] kmalloc_double_kzfree+0x168/0x308 [ 21.978933] kunit_try_run_case+0x170/0x3f0 [ 21.979034] kunit_generic_run_threadfn_adapter+0x88/0x100 [ 21.979140] kthread+0x328/0x630 [ 21.979222] ret_from_fork+0x10/0x20 [ 21.979334] [ 21.979378] Allocated by task 192: [ 21.979465] kasan_save_stack+0x3c/0x68 [ 21.979573] kasan_save_track+0x20/0x40 [ 21.979667] kasan_save_alloc_info+0x40/0x58 [ 21.979758] __kasan_kmalloc+0xd4/0xd8 [ 21.979846] __kmalloc_cache_noprof+0x15c/0x3c0 [ 21.979980] kmalloc_double_kzfree+0xb8/0x308 [ 21.980068] kunit_try_run_case+0x170/0x3f0 [ 21.980154] kunit_generic_run_threadfn_adapter+0x88/0x100 [ 21.980492] kthread+0x328/0x630 [ 21.980575] ret_from_fork+0x10/0x20 [ 21.980660] [ 21.980710] Freed by task 192: [ 21.980772] kasan_save_stack+0x3c/0x68 [ 21.981258] kasan_save_track+0x20/0x40 [ 21.981447] kasan_save_free_info+0x4c/0x78 [ 21.981562] __kasan_slab_free+0x6c/0x98 [ 21.981652] kfree+0x214/0x3c8 [ 21.981762] kfree_sensitive+0x80/0xb0 [ 21.981896] kmalloc_double_kzfree+0x11c/0x308 [ 21.982023] kunit_try_run_case+0x170/0x3f0 [ 21.982119] kunit_generic_run_threadfn_adapter+0x88/0x100 [ 21.982236] kthread+0x328/0x630 [ 21.982384] ret_from_fork+0x10/0x20 [ 21.982480] [ 21.982531] The buggy address belongs to the object at fff00000c66b10c0 [ 21.982531] which belongs to the cache kmalloc-16 of size 16 [ 21.983033] The buggy address is located 0 bytes inside of [ 21.983033] freed 16-byte region [fff00000c66b10c0, fff00000c66b10d0) [ 21.983160] [ 21.983205] The buggy address belongs to the physical page: [ 21.983295] page: refcount:0 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x1066b1 [ 21.983434] flags: 0xbfffe0000000000(node=0|zone=2|lastcpupid=0x1ffff) [ 21.983662] page_type: f5(slab) [ 21.983916] raw: 0bfffe0000000000 fff00000c0001640 dead000000000122 0000000000000000 [ 21.984073] raw: 0000000000000000 0000000080800080 00000000f5000000 0000000000000000 [ 21.984182] page dumped because: kasan: bad access detected [ 21.984298] [ 21.984363] Memory state around the buggy address: [ 21.984496] fff00000c66b0f80: fb fb fb fb fb fb fb fc fc fc fc fc fc fc fc fc [ 21.984654] fff00000c66b1000: fa fb fc fc fa fb fc fc fa fb fc fc fa fb fc fc [ 21.984803] >fff00000c66b1080: fa fb fc fc fa fb fc fc fa fb fc fc fc fc fc fc [ 21.984931] ^ [ 21.985013] fff00000c66b1100: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc [ 21.985143] fff00000c66b1180: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc [ 21.985250] ==================================================================
[ 11.194924] ================================================================== [ 11.195513] BUG: KASAN: slab-use-after-free in kmalloc_double_kzfree+0x19c/0x350 [ 11.195919] Read of size 1 at addr ffff888101c55fc0 by task kunit_try_catch/209 [ 11.196230] [ 11.196348] CPU: 0 UID: 0 PID: 209 Comm: kunit_try_catch Tainted: G B N 6.15.0-next-20250529 #1 PREEMPT(voluntary) [ 11.196393] Tainted: [B]=BAD_PAGE, [N]=TEST [ 11.196405] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2 04/01/2014 [ 11.196426] Call Trace: [ 11.196438] <TASK> [ 11.196453] dump_stack_lvl+0x73/0xb0 [ 11.196478] print_report+0xd1/0x650 [ 11.196500] ? __virt_addr_valid+0x1db/0x2d0 [ 11.196523] ? kmalloc_double_kzfree+0x19c/0x350 [ 11.196546] ? kasan_complete_mode_report_info+0x64/0x200 [ 11.196568] ? kmalloc_double_kzfree+0x19c/0x350 [ 11.196591] kasan_report+0x141/0x180 [ 11.196625] ? kmalloc_double_kzfree+0x19c/0x350 [ 11.196651] ? kmalloc_double_kzfree+0x19c/0x350 [ 11.196675] __kasan_check_byte+0x3d/0x50 [ 11.196696] kfree_sensitive+0x22/0x90 [ 11.196719] kmalloc_double_kzfree+0x19c/0x350 [ 11.196742] ? __pfx_kmalloc_double_kzfree+0x10/0x10 [ 11.196811] ? __pfx_queued_spin_lock_slowpath+0x10/0x10 [ 11.196837] ? __pfx_read_tsc+0x10/0x10 [ 11.196869] ? ktime_get_ts64+0x86/0x230 [ 11.196894] kunit_try_run_case+0x1a5/0x480 [ 11.196916] ? __pfx_kunit_try_run_case+0x10/0x10 [ 11.196935] ? _raw_spin_lock_irqsave+0xf9/0x100 [ 11.196958] ? _raw_spin_unlock_irqrestore+0x5f/0x90 [ 11.196982] ? __kthread_parkme+0x82/0x180 [ 11.197002] ? preempt_count_sub+0x50/0x80 [ 11.197025] ? __pfx_kunit_try_run_case+0x10/0x10 [ 11.197046] kunit_generic_run_threadfn_adapter+0x85/0xf0 [ 11.197070] ? __pfx_kunit_generic_run_threadfn_adapter+0x10/0x10 [ 11.197376] kthread+0x337/0x6f0 [ 11.197397] ? trace_preempt_on+0x20/0xc0 [ 11.197420] ? __pfx_kthread+0x10/0x10 [ 11.197441] ? _raw_spin_unlock_irq+0x47/0x80 [ 11.197463] ? calculate_sigpending+0x7b/0xa0 [ 11.197486] ? __pfx_kthread+0x10/0x10 [ 11.197508] ret_from_fork+0x116/0x1d0 [ 11.197526] ? __pfx_kthread+0x10/0x10 [ 11.197546] ret_from_fork_asm+0x1a/0x30 [ 11.197575] </TASK> [ 11.197586] [ 11.207161] Allocated by task 209: [ 11.207301] kasan_save_stack+0x45/0x70 [ 11.207455] kasan_save_track+0x18/0x40 [ 11.207599] kasan_save_alloc_info+0x3b/0x50 [ 11.207769] __kasan_kmalloc+0xb7/0xc0 [ 11.207910] __kmalloc_cache_noprof+0x189/0x420 [ 11.208418] kmalloc_double_kzfree+0xa9/0x350 [ 11.208906] kunit_try_run_case+0x1a5/0x480 [ 11.209164] kunit_generic_run_threadfn_adapter+0x85/0xf0 [ 11.209348] kthread+0x337/0x6f0 [ 11.209481] ret_from_fork+0x116/0x1d0 [ 11.209633] ret_from_fork_asm+0x1a/0x30 [ 11.209892] [ 11.209993] Freed by task 209: [ 11.210151] kasan_save_stack+0x45/0x70 [ 11.210324] kasan_save_track+0x18/0x40 [ 11.210505] kasan_save_free_info+0x3f/0x60 [ 11.210679] __kasan_slab_free+0x56/0x70 [ 11.210830] kfree+0x222/0x3f0 [ 11.210995] kfree_sensitive+0x67/0x90 [ 11.211185] kmalloc_double_kzfree+0x12b/0x350 [ 11.211403] kunit_try_run_case+0x1a5/0x480 [ 11.211889] kunit_generic_run_threadfn_adapter+0x85/0xf0 [ 11.212162] kthread+0x337/0x6f0 [ 11.212321] ret_from_fork+0x116/0x1d0 [ 11.212495] ret_from_fork_asm+0x1a/0x30 [ 11.212698] [ 11.212885] The buggy address belongs to the object at ffff888101c55fc0 [ 11.212885] which belongs to the cache kmalloc-16 of size 16 [ 11.213375] The buggy address is located 0 bytes inside of [ 11.213375] freed 16-byte region [ffff888101c55fc0, ffff888101c55fd0) [ 11.213908] [ 11.213995] The buggy address belongs to the physical page: [ 11.214260] page: refcount:0 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x101c55 [ 11.214596] flags: 0x200000000000000(node=0|zone=2) [ 11.215034] page_type: f5(slab) [ 11.215200] raw: 0200000000000000 ffff888100041640 dead000000000122 0000000000000000 [ 11.215517] raw: 0000000000000000 0000000080800080 00000000f5000000 0000000000000000 [ 11.215935] page dumped because: kasan: bad access detected [ 11.216163] [ 11.216266] Memory state around the buggy address: [ 11.216477] ffff888101c55e80: 00 00 fc fc 00 02 fc fc 00 02 fc fc 00 06 fc fc [ 11.216872] ffff888101c55f00: 00 06 fc fc 00 05 fc fc fa fb fc fc fa fb fc fc [ 11.217194] >ffff888101c55f80: fa fb fc fc fa fb fc fc fa fb fc fc fc fc fc fc [ 11.217481] ^ [ 11.217702] ffff888101c56000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [ 11.218280] ffff888101c56080: 00 fc fc fc fc fc fc fc fc 00 00 00 00 00 00 00 [ 11.218626] ==================================================================