Hay
Date
July 9, 2025, 1:08 p.m.

Environment
qemu-arm64
qemu-x86_64

[   29.464095] ==================================================================
[   29.464202] BUG: KASAN: slab-use-after-free in kmalloc_uaf2+0x3f4/0x468
[   29.464304] Read of size 1 at addr fff00000c598ce28 by task kunit_try_catch/220
[   29.464355] 
[   29.464423] CPU: 0 UID: 0 PID: 220 Comm: kunit_try_catch Tainted: G    B            N  6.16.0-rc5-next-20250709 #1 PREEMPT 
[   29.464509] Tainted: [B]=BAD_PAGE, [N]=TEST
[   29.464717] Hardware name: linux,dummy-virt (DT)
[   29.464761] Call trace:
[   29.464803]  show_stack+0x20/0x38 (C)
[   29.464894]  dump_stack_lvl+0x8c/0xd0
[   29.464948]  print_report+0x118/0x5d0
[   29.465013]  kasan_report+0xdc/0x128
[   29.465089]  __asan_report_load1_noabort+0x20/0x30
[   29.465139]  kmalloc_uaf2+0x3f4/0x468
[   29.465184]  kunit_try_run_case+0x170/0x3f0
[   29.465236]  kunit_generic_run_threadfn_adapter+0x88/0x100
[   29.465292]  kthread+0x328/0x630
[   29.465334]  ret_from_fork+0x10/0x20
[   29.465382] 
[   29.465400] Allocated by task 220:
[   29.465429]  kasan_save_stack+0x3c/0x68
[   29.465469]  kasan_save_track+0x20/0x40
[   29.465508]  kasan_save_alloc_info+0x40/0x58
[   29.465544]  __kasan_kmalloc+0xd4/0xd8
[   29.465581]  __kmalloc_cache_noprof+0x16c/0x3c0
[   29.465767]  kmalloc_uaf2+0xc4/0x468
[   29.465850]  kunit_try_run_case+0x170/0x3f0
[   29.465891]  kunit_generic_run_threadfn_adapter+0x88/0x100
[   29.465962]  kthread+0x328/0x630
[   29.466011]  ret_from_fork+0x10/0x20
[   29.466101] 
[   29.466159] Freed by task 220:
[   29.466226]  kasan_save_stack+0x3c/0x68
[   29.466265]  kasan_save_track+0x20/0x40
[   29.466329]  kasan_save_free_info+0x4c/0x78
[   29.466395]  __kasan_slab_free+0x6c/0x98
[   29.466488]  kfree+0x214/0x3c8
[   29.466522]  kmalloc_uaf2+0x134/0x468
[   29.466588]  kunit_try_run_case+0x170/0x3f0
[   29.466806]  kunit_generic_run_threadfn_adapter+0x88/0x100
[   29.466919]  kthread+0x328/0x630
[   29.466955]  ret_from_fork+0x10/0x20
[   29.467046] 
[   29.467097] The buggy address belongs to the object at fff00000c598ce00
[   29.467097]  which belongs to the cache kmalloc-64 of size 64
[   29.467162] The buggy address is located 40 bytes inside of
[   29.467162]  freed 64-byte region [fff00000c598ce00, fff00000c598ce40)
[   29.467223] 
[   29.467282] The buggy address belongs to the physical page:
[   29.467340] page: refcount:0 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x10598c
[   29.467394] flags: 0xbfffe0000000000(node=0|zone=2|lastcpupid=0x1ffff)
[   29.467468] page_type: f5(slab)
[   29.467556] raw: 0bfffe0000000000 fff00000c00018c0 dead000000000122 0000000000000000
[   29.467607] raw: 0000000000000000 0000000080200020 00000000f5000000 0000000000000000
[   29.467648] page dumped because: kasan: bad access detected
[   29.467679] 
[   29.467696] Memory state around the buggy address:
[   29.467766]  fff00000c598cd00: fa fb fb fb fb fb fb fb fc fc fc fc fc fc fc fc
[   29.467948]  fff00000c598cd80: fa fb fb fb fb fb fb fb fc fc fc fc fc fc fc fc
[   29.468093] >fff00000c598ce00: fa fb fb fb fb fb fb fb fc fc fc fc fc fc fc fc
[   29.468133]                                   ^
[   29.468197]  fff00000c598ce80: 00 00 00 00 00 03 fc fc fc fc fc fc fc fc fc fc
[   29.468240]  fff00000c598cf00: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
[   29.468277] ==================================================================

[   24.396082] ==================================================================
[   24.396541] BUG: KASAN: slab-use-after-free in kmalloc_uaf2+0x4a8/0x520
[   24.396821] Read of size 1 at addr ffff8881053b3ca8 by task kunit_try_catch/238
[   24.397755] 
[   24.398003] CPU: 1 UID: 0 PID: 238 Comm: kunit_try_catch Tainted: G    B   W        N  6.16.0-rc5-next-20250709 #1 PREEMPT(voluntary) 
[   24.398075] Tainted: [B]=BAD_PAGE, [W]=WARN, [N]=TEST
[   24.398090] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2 04/01/2014
[   24.398112] Call Trace:
[   24.398126]  <TASK>
[   24.398146]  dump_stack_lvl+0x73/0xb0
[   24.398179]  print_report+0xd1/0x610
[   24.398201]  ? __virt_addr_valid+0x1db/0x2d0
[   24.398225]  ? kmalloc_uaf2+0x4a8/0x520
[   24.398244]  ? kasan_complete_mode_report_info+0x64/0x200
[   24.398269]  ? kmalloc_uaf2+0x4a8/0x520
[   24.398288]  kasan_report+0x141/0x180
[   24.398309]  ? kmalloc_uaf2+0x4a8/0x520
[   24.398333]  __asan_report_load1_noabort+0x18/0x20
[   24.398356]  kmalloc_uaf2+0x4a8/0x520
[   24.398375]  ? __pfx_kmalloc_uaf2+0x10/0x10
[   24.398394]  ? finish_task_switch.isra.0+0x153/0x700
[   24.398416]  ? __switch_to+0x47/0xf80
[   24.398441]  ? __schedule+0x10cc/0x2b60
[   24.398464]  ? __pfx_read_tsc+0x10/0x10
[   24.398485]  ? ktime_get_ts64+0x86/0x230
[   24.398510]  kunit_try_run_case+0x1a5/0x480
[   24.398539]  ? __pfx_kunit_try_run_case+0x10/0x10
[   24.398559]  ? _raw_spin_lock_irqsave+0xa1/0x100
[   24.398581]  ? _raw_spin_unlock_irqrestore+0x5f/0x90
[   24.398605]  ? __kthread_parkme+0x82/0x180
[   24.398625]  ? preempt_count_sub+0x50/0x80
[   24.398647]  ? __pfx_kunit_try_run_case+0x10/0x10
[   24.398668]  kunit_generic_run_threadfn_adapter+0x85/0xf0
[   24.398703]  ? __pfx_kunit_generic_run_threadfn_adapter+0x10/0x10
[   24.398728]  kthread+0x337/0x6f0
[   24.398798]  ? trace_preempt_on+0x20/0xc0
[   24.398823]  ? __pfx_kthread+0x10/0x10
[   24.398865]  ? _raw_spin_unlock_irq+0x47/0x80
[   24.398887]  ? calculate_sigpending+0x7b/0xa0
[   24.398911]  ? __pfx_kthread+0x10/0x10
[   24.398932]  ret_from_fork+0x116/0x1d0
[   24.398963]  ? __pfx_kthread+0x10/0x10
[   24.398983]  ret_from_fork_asm+0x1a/0x30
[   24.399015]  </TASK>
[   24.399027] 
[   24.414717] Allocated by task 238:
[   24.415169]  kasan_save_stack+0x45/0x70
[   24.415569]  kasan_save_track+0x18/0x40
[   24.416045]  kasan_save_alloc_info+0x3b/0x50
[   24.416479]  __kasan_kmalloc+0xb7/0xc0
[   24.416898]  __kmalloc_cache_noprof+0x189/0x420
[   24.417414]  kmalloc_uaf2+0xc6/0x520
[   24.417806]  kunit_try_run_case+0x1a5/0x480
[   24.418271]  kunit_generic_run_threadfn_adapter+0x85/0xf0
[   24.419019]  kthread+0x337/0x6f0
[   24.419373]  ret_from_fork+0x116/0x1d0
[   24.419750]  ret_from_fork_asm+0x1a/0x30
[   24.420228] 
[   24.420417] Freed by task 238:
[   24.420680]  kasan_save_stack+0x45/0x70
[   24.420939]  kasan_save_track+0x18/0x40
[   24.421407]  kasan_save_free_info+0x3f/0x60
[   24.421556]  __kasan_slab_free+0x56/0x70
[   24.421684]  kfree+0x222/0x3f0
[   24.421827]  kmalloc_uaf2+0x14c/0x520
[   24.422300]  kunit_try_run_case+0x1a5/0x480
[   24.422729]  kunit_generic_run_threadfn_adapter+0x85/0xf0
[   24.423411]  kthread+0x337/0x6f0
[   24.423743]  ret_from_fork+0x116/0x1d0
[   24.424334]  ret_from_fork_asm+0x1a/0x30
[   24.424593] 
[   24.424661] The buggy address belongs to the object at ffff8881053b3c80
[   24.424661]  which belongs to the cache kmalloc-64 of size 64
[   24.425682] The buggy address is located 40 bytes inside of
[   24.425682]  freed 64-byte region [ffff8881053b3c80, ffff8881053b3cc0)
[   24.426455] 
[   24.426534] The buggy address belongs to the physical page:
[   24.426715] page: refcount:0 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x1053b3
[   24.426967] flags: 0x200000000000000(node=0|zone=2)
[   24.427395] page_type: f5(slab)
[   24.427551] raw: 0200000000000000 ffff8881000418c0 dead000000000122 0000000000000000
[   24.427820] raw: 0000000000000000 0000000080200020 00000000f5000000 0000000000000000
[   24.428321] page dumped because: kasan: bad access detected
[   24.428735] 
[   24.428936] Memory state around the buggy address:
[   24.429251]  ffff8881053b3b80: fa fb fb fb fb fb fb fb fc fc fc fc fc fc fc fc
[   24.429544]  ffff8881053b3c00: fa fb fb fb fb fb fb fb fc fc fc fc fc fc fc fc
[   24.429843] >ffff8881053b3c80: fa fb fb fb fb fb fb fb fc fc fc fc fc fc fc fc
[   24.430439]                                   ^
[   24.430675]  ffff8881053b3d00: 00 00 00 00 00 03 fc fc fc fc fc fc fc fc fc fc
[   24.431062]  ffff8881053b3d80: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
[   24.431379] ==================================================================