Date
July 16, 2025, 3:10 p.m.
Environment | |
---|---|
qemu-arm64 | |
qemu-x86_64 |
[ 16.786526] ================================================================== [ 16.786589] BUG: KASAN: slab-use-after-free in kmalloc_double_kzfree+0x168/0x308 [ 16.786643] Read of size 1 at addr fff00000c3eef5a0 by task kunit_try_catch/192 [ 16.786743] [ 16.786778] CPU: 1 UID: 0 PID: 192 Comm: kunit_try_catch Tainted: G B N 6.16.0-rc6 #1 PREEMPT [ 16.786907] Tainted: [B]=BAD_PAGE, [N]=TEST [ 16.786980] Hardware name: linux,dummy-virt (DT) [ 16.787017] Call trace: [ 16.787075] show_stack+0x20/0x38 (C) [ 16.787125] dump_stack_lvl+0x8c/0xd0 [ 16.787175] print_report+0x118/0x5d0 [ 16.787253] kasan_report+0xdc/0x128 [ 16.787314] __kasan_check_byte+0x54/0x70 [ 16.787361] kfree_sensitive+0x30/0xb0 [ 16.787408] kmalloc_double_kzfree+0x168/0x308 [ 16.787454] kunit_try_run_case+0x170/0x3f0 [ 16.787757] kunit_generic_run_threadfn_adapter+0x88/0x100 [ 16.787835] kthread+0x328/0x630 [ 16.787913] ret_from_fork+0x10/0x20 [ 16.787974] [ 16.788001] Allocated by task 192: [ 16.788029] kasan_save_stack+0x3c/0x68 [ 16.788078] kasan_save_track+0x20/0x40 [ 16.788125] kasan_save_alloc_info+0x40/0x58 [ 16.788174] __kasan_kmalloc+0xd4/0xd8 [ 16.788212] __kmalloc_cache_noprof+0x16c/0x3c0 [ 16.788257] kmalloc_double_kzfree+0xb8/0x308 [ 16.788302] kunit_try_run_case+0x170/0x3f0 [ 16.788340] kunit_generic_run_threadfn_adapter+0x88/0x100 [ 16.788390] kthread+0x328/0x630 [ 16.788422] ret_from_fork+0x10/0x20 [ 16.788459] [ 16.788477] Freed by task 192: [ 16.788513] kasan_save_stack+0x3c/0x68 [ 16.788551] kasan_save_track+0x20/0x40 [ 16.788595] kasan_save_free_info+0x4c/0x78 [ 16.788643] __kasan_slab_free+0x6c/0x98 [ 16.788681] kfree+0x214/0x3c8 [ 16.788723] kfree_sensitive+0x80/0xb0 [ 16.788758] kmalloc_double_kzfree+0x11c/0x308 [ 16.788797] kunit_try_run_case+0x170/0x3f0 [ 16.788833] kunit_generic_run_threadfn_adapter+0x88/0x100 [ 16.788877] kthread+0x328/0x630 [ 16.788908] ret_from_fork+0x10/0x20 [ 16.789101] [ 16.789145] The buggy address belongs to the object at fff00000c3eef5a0 [ 16.789145] which belongs to the cache kmalloc-16 of size 16 [ 16.789207] The buggy address is located 0 bytes inside of [ 16.789207] freed 16-byte region [fff00000c3eef5a0, fff00000c3eef5b0) [ 16.789270] [ 16.789289] The buggy address belongs to the physical page: [ 16.789322] page: refcount:0 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x103eef [ 16.789513] flags: 0xbfffe0000000000(node=0|zone=2|lastcpupid=0x1ffff) [ 16.789578] page_type: f5(slab) [ 16.789622] raw: 0bfffe0000000000 fff00000c0001640 dead000000000122 0000000000000000 [ 16.789791] raw: 0000000000000000 0000000080800080 00000000f5000000 0000000000000000 [ 16.789966] page dumped because: kasan: bad access detected [ 16.790054] [ 16.790271] Memory state around the buggy address: [ 16.790313] fff00000c3eef480: fa fb fc fc fa fb fc fc 00 04 fc fc fa fb fc fc [ 16.790376] fff00000c3eef500: fa fb fc fc fa fb fc fc fa fb fc fc fa fb fc fc [ 16.790463] >fff00000c3eef580: fa fb fc fc fa fb fc fc fc fc fc fc fc fc fc fc [ 16.790563] ^ [ 16.790592] fff00000c3eef600: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc [ 16.790671] fff00000c3eef680: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc [ 16.790779] ==================================================================
[ 12.920583] ================================================================== [ 12.921822] BUG: KASAN: slab-use-after-free in kmalloc_double_kzfree+0x19c/0x350 [ 12.922533] Read of size 1 at addr ffff8881009b2fe0 by task kunit_try_catch/209 [ 12.923125] [ 12.923315] CPU: 0 UID: 0 PID: 209 Comm: kunit_try_catch Tainted: G B N 6.16.0-rc6 #1 PREEMPT(voluntary) [ 12.923440] Tainted: [B]=BAD_PAGE, [N]=TEST [ 12.923452] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2 04/01/2014 [ 12.923474] Call Trace: [ 12.923487] <TASK> [ 12.923503] dump_stack_lvl+0x73/0xb0 [ 12.923537] print_report+0xd1/0x610 [ 12.923561] ? __virt_addr_valid+0x1db/0x2d0 [ 12.923584] ? kmalloc_double_kzfree+0x19c/0x350 [ 12.923608] ? kasan_complete_mode_report_info+0x64/0x200 [ 12.923632] ? kmalloc_double_kzfree+0x19c/0x350 [ 12.923656] kasan_report+0x141/0x180 [ 12.923678] ? kmalloc_double_kzfree+0x19c/0x350 [ 12.923705] ? kmalloc_double_kzfree+0x19c/0x350 [ 12.923729] __kasan_check_byte+0x3d/0x50 [ 12.923752] kfree_sensitive+0x22/0x90 [ 12.923789] kmalloc_double_kzfree+0x19c/0x350 [ 12.923813] ? __pfx_kmalloc_double_kzfree+0x10/0x10 [ 12.923839] ? __schedule+0x10cc/0x2b60 [ 12.923862] ? __pfx_read_tsc+0x10/0x10 [ 12.923884] ? ktime_get_ts64+0x86/0x230 [ 12.923909] kunit_try_run_case+0x1a5/0x480 [ 12.923935] ? __pfx_kunit_try_run_case+0x10/0x10 [ 12.923959] ? _raw_spin_lock_irqsave+0xa1/0x100 [ 12.924051] ? _raw_spin_unlock_irqrestore+0x5f/0x90 [ 12.924077] ? __kthread_parkme+0x82/0x180 [ 12.924099] ? preempt_count_sub+0x50/0x80 [ 12.924124] ? __pfx_kunit_try_run_case+0x10/0x10 [ 12.924149] kunit_generic_run_threadfn_adapter+0x85/0xf0 [ 12.924175] ? __pfx_kunit_generic_run_threadfn_adapter+0x10/0x10 [ 12.924201] kthread+0x337/0x6f0 [ 12.924220] ? trace_preempt_on+0x20/0xc0 [ 12.924245] ? __pfx_kthread+0x10/0x10 [ 12.924266] ? _raw_spin_unlock_irq+0x47/0x80 [ 12.924288] ? calculate_sigpending+0x7b/0xa0 [ 12.924313] ? __pfx_kthread+0x10/0x10 [ 12.924334] ret_from_fork+0x116/0x1d0 [ 12.924354] ? __pfx_kthread+0x10/0x10 [ 12.924375] ret_from_fork_asm+0x1a/0x30 [ 12.924405] </TASK> [ 12.924416] [ 12.936885] Allocated by task 209: [ 12.937215] kasan_save_stack+0x45/0x70 [ 12.937638] kasan_save_track+0x18/0x40 [ 12.937800] kasan_save_alloc_info+0x3b/0x50 [ 12.937953] __kasan_kmalloc+0xb7/0xc0 [ 12.938087] __kmalloc_cache_noprof+0x189/0x420 [ 12.938260] kmalloc_double_kzfree+0xa9/0x350 [ 12.938424] kunit_try_run_case+0x1a5/0x480 [ 12.938583] kunit_generic_run_threadfn_adapter+0x85/0xf0 [ 12.938772] kthread+0x337/0x6f0 [ 12.938896] ret_from_fork+0x116/0x1d0 [ 12.939059] ret_from_fork_asm+0x1a/0x30 [ 12.939384] [ 12.939540] Freed by task 209: [ 12.939824] kasan_save_stack+0x45/0x70 [ 12.939982] kasan_save_track+0x18/0x40 [ 12.940134] kasan_save_free_info+0x3f/0x60 [ 12.940571] __kasan_slab_free+0x56/0x70 [ 12.940939] kfree+0x222/0x3f0 [ 12.941256] kfree_sensitive+0x67/0x90 [ 12.941672] kmalloc_double_kzfree+0x12b/0x350 [ 12.942044] kunit_try_run_case+0x1a5/0x480 [ 12.942195] kunit_generic_run_threadfn_adapter+0x85/0xf0 [ 12.942373] kthread+0x337/0x6f0 [ 12.942523] ret_from_fork+0x116/0x1d0 [ 12.942658] ret_from_fork_asm+0x1a/0x30 [ 12.942807] [ 12.942877] The buggy address belongs to the object at ffff8881009b2fe0 [ 12.942877] which belongs to the cache kmalloc-16 of size 16 [ 12.943382] The buggy address is located 0 bytes inside of [ 12.943382] freed 16-byte region [ffff8881009b2fe0, ffff8881009b2ff0) [ 12.944482] [ 12.944742] The buggy address belongs to the physical page: [ 12.945209] page: refcount:0 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x1009b2 [ 12.945480] flags: 0x200000000000000(node=0|zone=2) [ 12.945913] page_type: f5(slab) [ 12.946266] raw: 0200000000000000 ffff888100041640 dead000000000122 0000000000000000 [ 12.946949] raw: 0000000000000000 0000000080800080 00000000f5000000 0000000000000000 [ 12.947564] page dumped because: kasan: bad access detected [ 12.947742] [ 12.947823] Memory state around the buggy address: [ 12.947992] ffff8881009b2e80: 00 00 fc fc 00 06 fc fc 00 06 fc fc 00 00 fc fc [ 12.949080] ffff8881009b2f00: fa fb fc fc fa fb fc fc fa fb fc fc fa fb fc fc [ 12.949830] >ffff8881009b2f80: fa fb fc fc fa fb fc fc fa fb fc fc fa fb fc fc [ 12.950584] ^ [ 12.951359] ffff8881009b3000: fa fb fb fb fb fb fb fb fb fb fb fb fc fc fc fc [ 12.951718] ffff8881009b3080: fa fb fb fb fb fb fb fb fb fb fb fb fc fc fc fc [ 12.951947] ==================================================================