Date
March 19, 2025, 10:35 a.m.
Environment | |
---|---|
qemu-arm64 | |
qemu-x86_64 |
[ 34.548774] ================================================================== [ 34.549098] BUG: KASAN: slab-use-after-free in kmalloc_uaf2+0x3f4/0x468 [ 34.549255] Read of size 1 at addr fff00000c5d89da8 by task kunit_try_catch/190 [ 34.549420] [ 34.549510] CPU: 1 UID: 0 PID: 190 Comm: kunit_try_catch Tainted: G B N 6.14.0-rc7-next-20250319 #1 PREEMPT [ 34.550110] Tainted: [B]=BAD_PAGE, [N]=TEST [ 34.550367] Hardware name: linux,dummy-virt (DT) [ 34.550610] Call trace: [ 34.550856] show_stack+0x20/0x38 (C) [ 34.551196] dump_stack_lvl+0x8c/0xd0 [ 34.551467] print_report+0x118/0x5f0 [ 34.551980] kasan_report+0xc8/0x118 [ 34.552430] __asan_report_load1_noabort+0x20/0x30 [ 34.552699] kmalloc_uaf2+0x3f4/0x468 [ 34.553147] kunit_try_run_case+0x14c/0x3d0 [ 34.553660] kunit_generic_run_threadfn_adapter+0x88/0x100 [ 34.554268] kthread+0x318/0x618 [ 34.554651] ret_from_fork+0x10/0x20 [ 34.555232] [ 34.555323] Allocated by task 190: [ 34.555426] kasan_save_stack+0x3c/0x68 [ 34.555919] kasan_save_track+0x20/0x40 [ 34.556338] kasan_save_alloc_info+0x40/0x58 [ 34.557103] __kasan_kmalloc+0xd4/0xd8 [ 34.557225] __kmalloc_cache_noprof+0x15c/0x3c0 [ 34.557378] kmalloc_uaf2+0xc4/0x468 [ 34.557495] kunit_try_run_case+0x14c/0x3d0 [ 34.557624] kunit_generic_run_threadfn_adapter+0x88/0x100 [ 34.557763] kthread+0x318/0x618 [ 34.557865] ret_from_fork+0x10/0x20 [ 34.558566] [ 34.558643] Freed by task 190: [ 34.558895] kasan_save_stack+0x3c/0x68 [ 34.559047] kasan_save_track+0x20/0x40 [ 34.559191] kasan_save_free_info+0x4c/0x78 [ 34.559312] __kasan_slab_free+0x6c/0x98 [ 34.559572] kfree+0x214/0x3c8 [ 34.560012] kmalloc_uaf2+0x134/0x468 [ 34.560530] kunit_try_run_case+0x14c/0x3d0 [ 34.560688] kunit_generic_run_threadfn_adapter+0x88/0x100 [ 34.560842] kthread+0x318/0x618 [ 34.561144] ret_from_fork+0x10/0x20 [ 34.561417] [ 34.561482] The buggy address belongs to the object at fff00000c5d89d80 [ 34.561482] which belongs to the cache kmalloc-64 of size 64 [ 34.561981] The buggy address is located 40 bytes inside of [ 34.561981] freed 64-byte region [fff00000c5d89d80, fff00000c5d89dc0) [ 34.562613] [ 34.562707] The buggy address belongs to the physical page: [ 34.562859] page: refcount:0 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x105d89 [ 34.563403] flags: 0xbfffe0000000000(node=0|zone=2|lastcpupid=0x1ffff) [ 34.563590] page_type: f5(slab) [ 34.563712] raw: 0bfffe0000000000 fff00000c00018c0 dead000000000122 0000000000000000 [ 34.564264] raw: 0000000000000000 0000000080200020 00000000f5000000 0000000000000000 [ 34.564575] page dumped because: kasan: bad access detected [ 34.564986] [ 34.565297] Memory state around the buggy address: [ 34.565546] fff00000c5d89c80: fa fb fb fb fb fb fb fb fc fc fc fc fc fc fc fc [ 34.565706] fff00000c5d89d00: fa fb fb fb fb fb fb fb fc fc fc fc fc fc fc fc [ 34.565897] >fff00000c5d89d80: fa fb fb fb fb fb fb fb fc fc fc fc fc fc fc fc [ 34.566220] ^ [ 34.566496] fff00000c5d89e00: 00 00 00 00 00 03 fc fc fc fc fc fc fc fc fc fc [ 34.566663] fff00000c5d89e80: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc [ 34.566793] ==================================================================
[ 22.254347] ================================================================== [ 22.255659] BUG: KASAN: slab-use-after-free in kmalloc_uaf2+0x4a8/0x520 [ 22.256608] Read of size 1 at addr ffff88810321e2a8 by task kunit_try_catch/209 [ 22.257342] [ 22.257545] CPU: 1 UID: 0 PID: 209 Comm: kunit_try_catch Tainted: G B N 6.14.0-rc7-next-20250319 #1 PREEMPT(voluntary) [ 22.257615] Tainted: [B]=BAD_PAGE, [N]=TEST [ 22.257632] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2 04/01/2014 [ 22.257661] Call Trace: [ 22.257679] <TASK> [ 22.257700] dump_stack_lvl+0x73/0xb0 [ 22.258442] print_report+0xd1/0x660 [ 22.258540] ? __virt_addr_valid+0x1db/0x2d0 [ 22.258664] ? kasan_complete_mode_report_info+0x64/0x200 [ 22.258739] kasan_report+0x104/0x140 [ 22.258832] ? kmalloc_uaf2+0x4a8/0x520 [ 22.258873] ? kmalloc_uaf2+0x4a8/0x520 [ 22.258914] __asan_report_load1_noabort+0x18/0x20 [ 22.258946] kmalloc_uaf2+0x4a8/0x520 [ 22.258977] ? __pfx_kmalloc_uaf2+0x10/0x10 [ 22.259006] ? irqentry_exit+0x2a/0x60 [ 22.259038] ? sysvec_apic_timer_interrupt+0x50/0x90 [ 22.259073] ? __pfx_kunit_try_run_case+0x10/0x10 [ 22.259139] ? __pfx_read_tsc+0x10/0x10 [ 22.259172] ? ktime_get_ts64+0x86/0x240 [ 22.259210] kunit_try_run_case+0x1b2/0x490 [ 22.259244] ? __pfx_kunit_try_run_case+0x10/0x10 [ 22.259275] ? _raw_spin_lock_irqsave+0xa1/0x100 [ 22.259307] ? _raw_spin_unlock_irqrestore+0x5f/0x90 [ 22.259339] ? __kthread_parkme+0x82/0x160 [ 22.259369] ? preempt_count_sub+0x50/0x80 [ 22.259405] ? __pfx_kunit_try_run_case+0x10/0x10 [ 22.259439] kunit_generic_run_threadfn_adapter+0x85/0xf0 [ 22.259472] ? __pfx_kunit_generic_run_threadfn_adapter+0x10/0x10 [ 22.259504] kthread+0x323/0x710 [ 22.259533] ? trace_preempt_on+0x20/0xc0 [ 22.259567] ? __pfx_kthread+0x10/0x10 [ 22.259607] ? _raw_spin_unlock_irq+0x47/0x80 [ 22.259655] ? calculate_sigpending+0x7b/0xa0 [ 22.259687] ? __pfx_kthread+0x10/0x10 [ 22.259768] ret_from_fork+0x41/0x80 [ 22.259805] ? __pfx_kthread+0x10/0x10 [ 22.259838] ret_from_fork_asm+0x1a/0x30 [ 22.259886] </TASK> [ 22.259902] [ 22.277609] Allocated by task 209: [ 22.277842] kasan_save_stack+0x3d/0x60 [ 22.278330] kasan_save_track+0x18/0x40 [ 22.278806] kasan_save_alloc_info+0x3b/0x50 [ 22.279290] __kasan_kmalloc+0xb7/0xc0 [ 22.279869] __kmalloc_cache_noprof+0x183/0x410 [ 22.280211] kmalloc_uaf2+0xc6/0x520 [ 22.280472] kunit_try_run_case+0x1b2/0x490 [ 22.281421] kunit_generic_run_threadfn_adapter+0x85/0xf0 [ 22.282190] kthread+0x323/0x710 [ 22.282578] ret_from_fork+0x41/0x80 [ 22.283174] ret_from_fork_asm+0x1a/0x30 [ 22.283640] [ 22.284081] Freed by task 209: [ 22.284325] kasan_save_stack+0x3d/0x60 [ 22.284597] kasan_save_track+0x18/0x40 [ 22.284923] kasan_save_free_info+0x3f/0x60 [ 22.285770] __kasan_slab_free+0x56/0x70 [ 22.286406] kfree+0x222/0x3f0 [ 22.286821] kmalloc_uaf2+0x14c/0x520 [ 22.287249] kunit_try_run_case+0x1b2/0x490 [ 22.287882] kunit_generic_run_threadfn_adapter+0x85/0xf0 [ 22.288638] kthread+0x323/0x710 [ 22.289288] ret_from_fork+0x41/0x80 [ 22.289648] ret_from_fork_asm+0x1a/0x30 [ 22.289976] [ 22.290148] The buggy address belongs to the object at ffff88810321e280 [ 22.290148] which belongs to the cache kmalloc-64 of size 64 [ 22.291488] The buggy address is located 40 bytes inside of [ 22.291488] freed 64-byte region [ffff88810321e280, ffff88810321e2c0) [ 22.292611] [ 22.292829] The buggy address belongs to the physical page: [ 22.293151] page: refcount:0 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x10321e [ 22.294069] flags: 0x200000000000000(node=0|zone=2) [ 22.295242] page_type: f5(slab) [ 22.295538] raw: 0200000000000000 ffff8881000418c0 dead000000000122 0000000000000000 [ 22.296645] raw: 0000000000000000 0000000080200020 00000000f5000000 0000000000000000 [ 22.297643] page dumped because: kasan: bad access detected [ 22.298760] [ 22.298952] Memory state around the buggy address: [ 22.299189] ffff88810321e180: fa fb fb fb fb fb fb fb fc fc fc fc fc fc fc fc [ 22.299422] ffff88810321e200: fa fb fb fb fb fb fb fb fc fc fc fc fc fc fc fc [ 22.299665] >ffff88810321e280: fa fb fb fb fb fb fb fb fc fc fc fc fc fc fc fc [ 22.300023] ^ [ 22.300331] ffff88810321e300: 00 00 00 00 00 03 fc fc fc fc fc fc fc fc fc fc [ 22.301818] ffff88810321e380: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc [ 22.302435] ==================================================================