Hay
Date
June 17, 2025, 3:40 p.m.

Environment
qemu-arm64
qemu-x86_64

[   24.214530] ==================================================================
[   24.214652] BUG: KASAN: use-after-free in mempool_uaf_helper+0x314/0x340
[   24.214788] Read of size 1 at addr fff00000c7a14000 by task kunit_try_catch/231
[   24.214856] 
[   24.214914] CPU: 0 UID: 0 PID: 231 Comm: kunit_try_catch Tainted: G    B            N  6.15.3-rc1 #1 PREEMPT 
[   24.215018] Tainted: [B]=BAD_PAGE, [N]=TEST
[   24.215047] Hardware name: linux,dummy-virt (DT)
[   24.215089] Call trace:
[   24.215118]  show_stack+0x20/0x38 (C)
[   24.215180]  dump_stack_lvl+0x8c/0xd0
[   24.215238]  print_report+0x118/0x608
[   24.215328]  kasan_report+0xdc/0x128
[   24.215377]  __asan_report_load1_noabort+0x20/0x30
[   24.215440]  mempool_uaf_helper+0x314/0x340
[   24.215493]  mempool_kmalloc_large_uaf+0xc4/0x120
[   24.215551]  kunit_try_run_case+0x170/0x3f0
[   24.215607]  kunit_generic_run_threadfn_adapter+0x88/0x100
[   24.215669]  kthread+0x328/0x630
[   24.215735]  ret_from_fork+0x10/0x20
[   24.215855] 
[   24.215881] The buggy address belongs to the physical page:
[   24.215921] page: refcount:1 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x107a14
[   24.215986] head: order:2 mapcount:0 entire_mapcount:0 nr_pages_mapped:0 pincount:0
[   24.216040] flags: 0xbfffe0000000040(head|node=0|zone=2|lastcpupid=0x1ffff)
[   24.216158] page_type: f8(unknown)
[   24.216217] raw: 0bfffe0000000040 0000000000000000 dead000000000122 0000000000000000
[   24.216275] raw: 0000000000000000 0000000000000000 00000001f8000000 0000000000000000
[   24.216333] head: 0bfffe0000000040 0000000000000000 dead000000000122 0000000000000000
[   24.216396] head: 0000000000000000 0000000000000000 00000001f8000000 0000000000000000
[   24.216452] head: 0bfffe0000000002 ffffc1ffc31e8501 00000000ffffffff 00000000ffffffff
[   24.216505] head: ffffffffffffffff 0000000000000000 00000000ffffffff 0000000000000004
[   24.216551] page dumped because: kasan: bad access detected
[   24.216588] 
[   24.216609] Memory state around the buggy address:
[   24.216651]  fff00000c7a13f00: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[   24.216700]  fff00000c7a13f80: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[   24.216763] >fff00000c7a14000: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[   24.216808]                    ^
[   24.216844]  fff00000c7a14080: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[   24.216889]  fff00000c7a14100: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[   24.216933] ==================================================================
[   24.273301] ==================================================================
[   24.273423] BUG: KASAN: use-after-free in mempool_uaf_helper+0x314/0x340
[   24.273517] Read of size 1 at addr fff00000c7a48000 by task kunit_try_catch/235
[   24.273578] 
[   24.273657] CPU: 0 UID: 0 PID: 235 Comm: kunit_try_catch Tainted: G    B            N  6.15.3-rc1 #1 PREEMPT 
[   24.273775] Tainted: [B]=BAD_PAGE, [N]=TEST
[   24.273878] Hardware name: linux,dummy-virt (DT)
[   24.274089] Call trace:
[   24.274127]  show_stack+0x20/0x38 (C)
[   24.274222]  dump_stack_lvl+0x8c/0xd0
[   24.274280]  print_report+0x118/0x608
[   24.275035]  kasan_report+0xdc/0x128
[   24.275109]  __asan_report_load1_noabort+0x20/0x30
[   24.275175]  mempool_uaf_helper+0x314/0x340
[   24.275234]  mempool_page_alloc_uaf+0xc0/0x118
[   24.275289]  kunit_try_run_case+0x170/0x3f0
[   24.275998]  kunit_generic_run_threadfn_adapter+0x88/0x100
[   24.276088]  kthread+0x328/0x630
[   24.276343]  ret_from_fork+0x10/0x20
[   24.276870] 
[   24.276985] The buggy address belongs to the physical page:
[   24.277034] page: refcount:1 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x107a48
[   24.277108] flags: 0xbfffe0000000000(node=0|zone=2|lastcpupid=0x1ffff)
[   24.277196] raw: 0bfffe0000000000 0000000000000000 dead000000000122 0000000000000000
[   24.277256] raw: 0000000000000000 0000000000000000 00000001ffffffff 0000000000000000
[   24.277674] page dumped because: kasan: bad access detected
[   24.277797] 
[   24.277825] Memory state around the buggy address:
[   24.277890]  fff00000c7a47f00: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
[   24.278156]  fff00000c7a47f80: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
[   24.278452] >fff00000c7a48000: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[   24.278523]                    ^
[   24.278600]  fff00000c7a48080: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[   24.278653]  fff00000c7a48100: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[   24.278700] ==================================================================

[   21.624687] ==================================================================
[   21.625436] BUG: KASAN: use-after-free in mempool_uaf_helper+0x392/0x400
[   21.626645] Read of size 1 at addr ffff888103924000 by task kunit_try_catch/249
[   21.627905] 
[   21.628510] CPU: 1 UID: 0 PID: 249 Comm: kunit_try_catch Tainted: G    B            N  6.15.3-rc1 #1 PREEMPT(voluntary) 
[   21.628645] Tainted: [B]=BAD_PAGE, [N]=TEST
[   21.628688] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2 04/01/2014
[   21.628961] Call Trace:
[   21.629266]  <TASK>
[   21.629322]  dump_stack_lvl+0x73/0xb0
[   21.629392]  print_report+0xd1/0x650
[   21.629435]  ? __virt_addr_valid+0x1db/0x2d0
[   21.629472]  ? mempool_uaf_helper+0x392/0x400
[   21.629506]  ? kasan_addr_to_slab+0x11/0xa0
[   21.629541]  ? mempool_uaf_helper+0x392/0x400
[   21.629578]  kasan_report+0x141/0x180
[   21.629614]  ? mempool_uaf_helper+0x392/0x400
[   21.629657]  __asan_report_load1_noabort+0x18/0x20
[   21.629688]  mempool_uaf_helper+0x392/0x400
[   21.629726]  ? __pfx_mempool_uaf_helper+0x10/0x10
[   21.629765]  ? dequeue_entities+0x852/0x1740
[   21.629806]  ? finish_task_switch.isra.0+0x153/0x700
[   21.629848]  mempool_kmalloc_large_uaf+0xef/0x140
[   21.629887]  ? __pfx_mempool_kmalloc_large_uaf+0x10/0x10
[   21.629925]  ? dequeue_task_fair+0x166/0x4e0
[   21.630010]  ? __pfx_mempool_kmalloc+0x10/0x10
[   21.630114]  ? __pfx_mempool_kfree+0x10/0x10
[   21.630153]  ? __pfx_read_tsc+0x10/0x10
[   21.630185]  ? ktime_get_ts64+0x86/0x230
[   21.630224]  kunit_try_run_case+0x1a5/0x480
[   21.630262]  ? __pfx_kunit_try_run_case+0x10/0x10
[   21.630317]  ? _raw_spin_lock_irqsave+0xa1/0x100
[   21.630359]  ? _raw_spin_unlock_irqrestore+0x5f/0x90
[   21.630395]  ? __kthread_parkme+0x82/0x180
[   21.630427]  ? preempt_count_sub+0x50/0x80
[   21.630462]  ? __pfx_kunit_try_run_case+0x10/0x10
[   21.630497]  kunit_generic_run_threadfn_adapter+0x85/0xf0
[   21.630529]  ? __pfx_kunit_generic_run_threadfn_adapter+0x10/0x10
[   21.630563]  kthread+0x337/0x6f0
[   21.630587]  ? trace_preempt_on+0x20/0xc0
[   21.630622]  ? __pfx_kthread+0x10/0x10
[   21.630646]  ? _raw_spin_unlock_irq+0x47/0x80
[   21.630677]  ? calculate_sigpending+0x7b/0xa0
[   21.630708]  ? __pfx_kthread+0x10/0x10
[   21.630733]  ret_from_fork+0x41/0x80
[   21.630763]  ? __pfx_kthread+0x10/0x10
[   21.630787]  ret_from_fork_asm+0x1a/0x30
[   21.630832]  </TASK>
[   21.630848] 
[   21.653368] The buggy address belongs to the physical page:
[   21.654216] page: refcount:1 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x103924
[   21.655735] head: order:2 mapcount:0 entire_mapcount:0 nr_pages_mapped:0 pincount:0
[   21.656630] flags: 0x200000000000040(head|node=0|zone=2)
[   21.657347] page_type: f8(unknown)
[   21.657779] raw: 0200000000000040 0000000000000000 dead000000000122 0000000000000000
[   21.658640] raw: 0000000000000000 0000000000000000 00000001f8000000 0000000000000000
[   21.659499] head: 0200000000000040 0000000000000000 dead000000000122 0000000000000000
[   21.660533] head: 0000000000000000 0000000000000000 00000001f8000000 0000000000000000
[   21.661419] head: 0200000000000002 ffffea00040e4901 00000000ffffffff 00000000ffffffff
[   21.662220] head: ffffffffffffffff 0000000000000000 00000000ffffffff 0000000000000004
[   21.662843] page dumped because: kasan: bad access detected
[   21.663362] 
[   21.663584] Memory state around the buggy address:
[   21.664037]  ffff888103923f00: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[   21.664819]  ffff888103923f80: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[   21.665568] >ffff888103924000: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[   21.666880]                    ^
[   21.667443]  ffff888103924080: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[   21.668260]  ffff888103924100: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[   21.668919] ==================================================================
[   21.758745] ==================================================================
[   21.759647] BUG: KASAN: use-after-free in mempool_uaf_helper+0x392/0x400
[   21.760194] Read of size 1 at addr ffff888102a08000 by task kunit_try_catch/253
[   21.762431] 
[   21.762905] CPU: 0 UID: 0 PID: 253 Comm: kunit_try_catch Tainted: G    B            N  6.15.3-rc1 #1 PREEMPT(voluntary) 
[   21.763227] Tainted: [B]=BAD_PAGE, [N]=TEST
[   21.763269] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2 04/01/2014
[   21.763348] Call Trace:
[   21.763386]  <TASK>
[   21.763430]  dump_stack_lvl+0x73/0xb0
[   21.763512]  print_report+0xd1/0x650
[   21.763579]  ? __virt_addr_valid+0x1db/0x2d0
[   21.763643]  ? mempool_uaf_helper+0x392/0x400
[   21.763704]  ? kasan_addr_to_slab+0x11/0xa0
[   21.763764]  ? mempool_uaf_helper+0x392/0x400
[   21.763827]  kasan_report+0x141/0x180
[   21.763899]  ? mempool_uaf_helper+0x392/0x400
[   21.763974]  __asan_report_load1_noabort+0x18/0x20
[   21.764035]  mempool_uaf_helper+0x392/0x400
[   21.764105]  ? __pfx_mempool_uaf_helper+0x10/0x10
[   21.764170]  ? dequeue_entities+0x852/0x1740
[   21.764244]  ? finish_task_switch.isra.0+0x153/0x700
[   21.764479]  mempool_page_alloc_uaf+0xed/0x140
[   21.764525]  ? __pfx_mempool_page_alloc_uaf+0x10/0x10
[   21.764561]  ? dequeue_task_fair+0x166/0x4e0
[   21.764596]  ? __pfx_mempool_alloc_pages+0x10/0x10
[   21.764635]  ? __pfx_mempool_free_pages+0x10/0x10
[   21.764673]  ? __pfx_read_tsc+0x10/0x10
[   21.764706]  ? ktime_get_ts64+0x86/0x230
[   21.764747]  kunit_try_run_case+0x1a5/0x480
[   21.764791]  ? __pfx_kunit_try_run_case+0x10/0x10
[   21.764827]  ? _raw_spin_lock_irqsave+0xa1/0x100
[   21.764867]  ? _raw_spin_unlock_irqrestore+0x5f/0x90
[   21.764904]  ? __kthread_parkme+0x82/0x180
[   21.764940]  ? preempt_count_sub+0x50/0x80
[   21.765020]  ? __pfx_kunit_try_run_case+0x10/0x10
[   21.765092]  kunit_generic_run_threadfn_adapter+0x85/0xf0
[   21.765137]  ? __pfx_kunit_generic_run_threadfn_adapter+0x10/0x10
[   21.765175]  kthread+0x337/0x6f0
[   21.765202]  ? trace_preempt_on+0x20/0xc0
[   21.765240]  ? __pfx_kthread+0x10/0x10
[   21.765268]  ? _raw_spin_unlock_irq+0x47/0x80
[   21.765344]  ? calculate_sigpending+0x7b/0xa0
[   21.765452]  ? __pfx_kthread+0x10/0x10
[   21.765493]  ret_from_fork+0x41/0x80
[   21.765533]  ? __pfx_kthread+0x10/0x10
[   21.765563]  ret_from_fork_asm+0x1a/0x30
[   21.765611]  </TASK>
[   21.765630] 
[   21.793609] The buggy address belongs to the physical page:
[   21.794740] page: refcount:1 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x102a08
[   21.795243] flags: 0x200000000000000(node=0|zone=2)
[   21.795769] raw: 0200000000000000 0000000000000000 dead000000000122 0000000000000000
[   21.796784] raw: 0000000000000000 0000000000000000 00000001ffffffff 0000000000000000
[   21.797942] page dumped because: kasan: bad access detected
[   21.798421] 
[   21.798584] Memory state around the buggy address:
[   21.798957]  ffff888102a07f00: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[   21.800276]  ffff888102a07f80: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[   21.801131] >ffff888102a08000: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[   21.802329]                    ^
[   21.802820]  ffff888102a08080: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[   21.803456]  ffff888102a08100: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
[   21.804016] ==================================================================