Hay
Date
July 5, 2025, 11:11 p.m.

Environment
qemu-arm64
qemu-x86_64

[   18.034912] ==================================================================
[   18.034969] BUG: KASAN: slab-use-after-free in kmalloc_uaf_16+0x3bc/0x438
[   18.035085] Read of size 16 at addr fff00000c59fcbe0 by task kunit_try_catch/168
[   18.035133] 
[   18.035176] CPU: 0 UID: 0 PID: 168 Comm: kunit_try_catch Tainted: G    B            N  6.16.0-rc4 #1 PREEMPT 
[   18.035371] Tainted: [B]=BAD_PAGE, [N]=TEST
[   18.035477] Hardware name: linux,dummy-virt (DT)
[   18.035527] Call trace:
[   18.035555]  show_stack+0x20/0x38 (C)
[   18.035606]  dump_stack_lvl+0x8c/0xd0
[   18.035653]  print_report+0x118/0x608
[   18.035753]  kasan_report+0xdc/0x128
[   18.035919]  __asan_report_load16_noabort+0x20/0x30
[   18.036144]  kmalloc_uaf_16+0x3bc/0x438
[   18.036248]  kunit_try_run_case+0x170/0x3f0
[   18.036297]  kunit_generic_run_threadfn_adapter+0x88/0x100
[   18.036347]  kthread+0x328/0x630
[   18.036388]  ret_from_fork+0x10/0x20
[   18.036434] 
[   18.036451] Allocated by task 168:
[   18.036751]  kasan_save_stack+0x3c/0x68
[   18.036916]  kasan_save_track+0x20/0x40
[   18.036955]  kasan_save_alloc_info+0x40/0x58
[   18.036993]  __kasan_kmalloc+0xd4/0xd8
[   18.037355]  __kmalloc_cache_noprof+0x16c/0x3c0
[   18.037453]  kmalloc_uaf_16+0x140/0x438
[   18.037503]  kunit_try_run_case+0x170/0x3f0
[   18.037715]  kunit_generic_run_threadfn_adapter+0x88/0x100
[   18.037819]  kthread+0x328/0x630
[   18.037851]  ret_from_fork+0x10/0x20
[   18.038023] 
[   18.038146] Freed by task 168:
[   18.038264]  kasan_save_stack+0x3c/0x68
[   18.038436]  kasan_save_track+0x20/0x40
[   18.038553]  kasan_save_free_info+0x4c/0x78
[   18.038694]  __kasan_slab_free+0x6c/0x98
[   18.038862]  kfree+0x214/0x3c8
[   18.038950]  kmalloc_uaf_16+0x190/0x438
[   18.039029]  kunit_try_run_case+0x170/0x3f0
[   18.039084]  kunit_generic_run_threadfn_adapter+0x88/0x100
[   18.039125]  kthread+0x328/0x630
[   18.039477]  ret_from_fork+0x10/0x20
[   18.039674] 
[   18.039800] The buggy address belongs to the object at fff00000c59fcbe0
[   18.039800]  which belongs to the cache kmalloc-16 of size 16
[   18.039971] The buggy address is located 0 bytes inside of
[   18.039971]  freed 16-byte region [fff00000c59fcbe0, fff00000c59fcbf0)
[   18.040134] 
[   18.040249] The buggy address belongs to the physical page:
[   18.040383] page: refcount:0 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x1059fc
[   18.040455] flags: 0xbfffe0000000000(node=0|zone=2|lastcpupid=0x1ffff)
[   18.040502] page_type: f5(slab)
[   18.040553] raw: 0bfffe0000000000 fff00000c0001640 dead000000000122 0000000000000000
[   18.040852] raw: 0000000000000000 0000000080800080 00000000f5000000 0000000000000000
[   18.040954] page dumped because: kasan: bad access detected
[   18.041176] 
[   18.041218] Memory state around the buggy address:
[   18.041401]  fff00000c59fca80: 00 02 fc fc fa fb fc fc fa fb fc fc fa fb fc fc
[   18.041540]  fff00000c59fcb00: fa fb fc fc fa fb fc fc 00 04 fc fc fa fb fc fc
[   18.041720] >fff00000c59fcb80: fa fb fc fc fa fb fc fc 00 00 fc fc fa fb fc fc
[   18.041787]                                                        ^
[   18.041824]  fff00000c59fcc00: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
[   18.042164]  fff00000c59fcc80: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
[   18.042330] ==================================================================

[   13.570644] ==================================================================
[   13.571277] BUG: KASAN: slab-use-after-free in kmalloc_uaf_16+0x47b/0x4c0
[   13.572067] Read of size 16 at addr ffff88810216f0e0 by task kunit_try_catch/186
[   13.573027] 
[   13.573290] CPU: 0 UID: 0 PID: 186 Comm: kunit_try_catch Tainted: G    B            N  6.16.0-rc4 #1 PREEMPT(voluntary) 
[   13.573350] Tainted: [B]=BAD_PAGE, [N]=TEST
[   13.573364] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2 04/01/2014
[   13.573389] Call Trace:
[   13.573405]  <TASK>
[   13.573426]  dump_stack_lvl+0x73/0xb0
[   13.573520]  print_report+0xd1/0x650
[   13.573559]  ? __virt_addr_valid+0x1db/0x2d0
[   13.573586]  ? kmalloc_uaf_16+0x47b/0x4c0
[   13.573609]  ? kasan_complete_mode_report_info+0x64/0x200
[   13.573634]  ? kmalloc_uaf_16+0x47b/0x4c0
[   13.573657]  kasan_report+0x141/0x180
[   13.573682]  ? kmalloc_uaf_16+0x47b/0x4c0
[   13.573710]  __asan_report_load16_noabort+0x18/0x20
[   13.573737]  kmalloc_uaf_16+0x47b/0x4c0
[   13.573760]  ? __pfx_kmalloc_uaf_16+0x10/0x10
[   13.573784]  ? __schedule+0x10cc/0x2b60
[   13.573820]  ? __pfx_read_tsc+0x10/0x10
[   13.573844]  ? ktime_get_ts64+0x86/0x230
[   13.573873]  kunit_try_run_case+0x1a5/0x480
[   13.573900]  ? __pfx_kunit_try_run_case+0x10/0x10
[   13.573924]  ? _raw_spin_lock_irqsave+0xa1/0x100
[   13.573951]  ? _raw_spin_unlock_irqrestore+0x5f/0x90
[   13.573978]  ? __kthread_parkme+0x82/0x180
[   13.574001]  ? preempt_count_sub+0x50/0x80
[   13.574028]  ? __pfx_kunit_try_run_case+0x10/0x10
[   13.574054]  kunit_generic_run_threadfn_adapter+0x85/0xf0
[   13.574079]  ? __pfx_kunit_generic_run_threadfn_adapter+0x10/0x10
[   13.574104]  kthread+0x337/0x6f0
[   13.574126]  ? trace_preempt_on+0x20/0xc0
[   13.574163]  ? __pfx_kthread+0x10/0x10
[   13.574187]  ? _raw_spin_unlock_irq+0x47/0x80
[   13.574210]  ? calculate_sigpending+0x7b/0xa0
[   13.574237]  ? __pfx_kthread+0x10/0x10
[   13.574261]  ret_from_fork+0x116/0x1d0
[   13.574282]  ? __pfx_kthread+0x10/0x10
[   13.574304]  ret_from_fork_asm+0x1a/0x30
[   13.574339]  </TASK>
[   13.574352] 
[   13.588593] Allocated by task 186:
[   13.588823]  kasan_save_stack+0x45/0x70
[   13.589423]  kasan_save_track+0x18/0x40
[   13.590112]  kasan_save_alloc_info+0x3b/0x50
[   13.590783]  __kasan_kmalloc+0xb7/0xc0
[   13.591343]  __kmalloc_cache_noprof+0x189/0x420
[   13.591985]  kmalloc_uaf_16+0x15b/0x4c0
[   13.592171]  kunit_try_run_case+0x1a5/0x480
[   13.592662]  kunit_generic_run_threadfn_adapter+0x85/0xf0
[   13.593150]  kthread+0x337/0x6f0
[   13.593302]  ret_from_fork+0x116/0x1d0
[   13.593462]  ret_from_fork_asm+0x1a/0x30
[   13.593620] 
[   13.593702] Freed by task 186:
[   13.593883]  kasan_save_stack+0x45/0x70
[   13.594821]  kasan_save_track+0x18/0x40
[   13.595303]  kasan_save_free_info+0x3f/0x60
[   13.595765]  __kasan_slab_free+0x56/0x70
[   13.596216]  kfree+0x222/0x3f0
[   13.596361]  kmalloc_uaf_16+0x1d6/0x4c0
[   13.596692]  kunit_try_run_case+0x1a5/0x480
[   13.597190]  kunit_generic_run_threadfn_adapter+0x85/0xf0
[   13.597760]  kthread+0x337/0x6f0
[   13.598090]  ret_from_fork+0x116/0x1d0
[   13.598768]  ret_from_fork_asm+0x1a/0x30
[   13.598964] 
[   13.599051] The buggy address belongs to the object at ffff88810216f0e0
[   13.599051]  which belongs to the cache kmalloc-16 of size 16
[   13.600412] The buggy address is located 0 bytes inside of
[   13.600412]  freed 16-byte region [ffff88810216f0e0, ffff88810216f0f0)
[   13.601879] 
[   13.601986] The buggy address belongs to the physical page:
[   13.602434] page: refcount:0 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x10216f
[   13.603222] flags: 0x200000000000000(node=0|zone=2)
[   13.603672] page_type: f5(slab)
[   13.603830] raw: 0200000000000000 ffff888100041640 dead000000000122 0000000000000000
[   13.604105] raw: 0000000000000000 0000000080800080 00000000f5000000 0000000000000000
[   13.604989] page dumped because: kasan: bad access detected
[   13.605976] 
[   13.606269] Memory state around the buggy address:
[   13.606767]  ffff88810216ef80: fb fb fb fb fb fb fb fb fc fc fc fc fc fc fc fc
[   13.607553]  ffff88810216f000: fa fb fc fc 00 00 fc fc 00 00 fc fc fa fb fc fc
[   13.607885] >ffff88810216f080: 00 05 fc fc fa fb fc fc 00 00 fc fc fa fb fc fc
[   13.608194]                                                        ^
[   13.608876]  ffff88810216f100: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
[   13.609691]  ffff88810216f180: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
[   13.610674] ==================================================================