Hay
Date
Dec. 6, 2024, 3:11 p.m.

Environment
qemu-arm64
qemu-x86_64

[   33.428863] ==================================================================
[   33.430184] BUG: KASAN: slab-use-after-free in mempool_uaf_helper+0x314/0x340
[   33.431562] Read of size 1 at addr fff00000c69c6f00 by task kunit_try_catch/216
[   33.432412] 
[   33.433175] CPU: 0 UID: 0 PID: 216 Comm: kunit_try_catch Tainted: G    B            N 6.13.0-rc1-next-20241206 #1
[   33.434299] Tainted: [B]=BAD_PAGE, [N]=TEST
[   33.434985] Hardware name: linux,dummy-virt (DT)
[   33.435616] Call trace:
[   33.436032]  show_stack+0x20/0x38 (C)
[   33.436792]  dump_stack_lvl+0x8c/0xd0
[   33.437447]  print_report+0x118/0x5e0
[   33.438127]  kasan_report+0xc8/0x118
[   33.438728]  __asan_report_load1_noabort+0x20/0x30
[   33.439914]  mempool_uaf_helper+0x314/0x340
[   33.440529]  mempool_kmalloc_uaf+0xbc/0x118
[   33.441188]  kunit_try_run_case+0x14c/0x3d0
[   33.441876]  kunit_generic_run_threadfn_adapter+0x88/0x100
[   33.442856]  kthread+0x24c/0x2d0
[   33.443397]  ret_from_fork+0x10/0x20
[   33.443986] 
[   33.444320] Allocated by task 216:
[   33.445538]  kasan_save_stack+0x3c/0x68
[   33.446084]  kasan_save_track+0x20/0x40
[   33.446740]  kasan_save_alloc_info+0x40/0x58
[   33.447319]  __kasan_mempool_unpoison_object+0x11c/0x180
[   33.448373]  remove_element+0x130/0x1f8
[   33.448905]  mempool_alloc_preallocated+0x58/0xc0
[   33.449633]  mempool_uaf_helper+0xa4/0x340
[   33.451232]  mempool_kmalloc_uaf+0xbc/0x118
[   33.451745]  kunit_try_run_case+0x14c/0x3d0
[   33.452409]  kunit_generic_run_threadfn_adapter+0x88/0x100
[   33.453031]  kthread+0x24c/0x2d0
[   33.453615]  ret_from_fork+0x10/0x20
[   33.454248] 
[   33.454580] Freed by task 216:
[   33.455108]  kasan_save_stack+0x3c/0x68
[   33.455715]  kasan_save_track+0x20/0x40
[   33.456325]  kasan_save_free_info+0x4c/0x78
[   33.457253]  __kasan_mempool_poison_object+0xc0/0x150
[   33.458021]  mempool_free+0x28c/0x328
[   33.458913]  mempool_uaf_helper+0x104/0x340
[   33.459527]  mempool_kmalloc_uaf+0xbc/0x118
[   33.460089]  kunit_try_run_case+0x14c/0x3d0
[   33.460669]  kunit_generic_run_threadfn_adapter+0x88/0x100
[   33.461451]  kthread+0x24c/0x2d0
[   33.461932]  ret_from_fork+0x10/0x20
[   33.462836] 
[   33.463208] The buggy address belongs to the object at fff00000c69c6f00
[   33.463208]  which belongs to the cache kmalloc-128 of size 128
[   33.464446] The buggy address is located 0 bytes inside of
[   33.464446]  freed 128-byte region [fff00000c69c6f00, fff00000c69c6f80)
[   33.465735] 
[   33.466108] The buggy address belongs to the physical page:
[   33.467004] page: refcount:0 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x1069c6
[   33.468044] flags: 0xbfffe0000000000(node=0|zone=2|lastcpupid=0x1ffff)
[   33.468933] page_type: f5(slab)
[   33.469428] raw: 0bfffe0000000000 fff00000c0001a00 dead000000000122 0000000000000000
[   33.470632] raw: 0000000000000000 0000000000100010 00000000f5000000 0000000000000000
[   33.471600] page dumped because: kasan: bad access detected
[   33.472266] 
[   33.473170] Memory state around the buggy address:
[   33.474026]  fff00000c69c6e00: fa fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
[   33.475339]  fff00000c69c6e80: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
[   33.476054] >fff00000c69c6f00: fa fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
[   33.477039]                    ^
[   33.477607]  fff00000c69c6f80: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
[   33.478854]  fff00000c69c7000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[   33.479694] ==================================================================
[   33.540598] ==================================================================
[   33.541722] BUG: KASAN: slab-use-after-free in mempool_uaf_helper+0x314/0x340
[   33.543065] Read of size 1 at addr fff00000c69e2240 by task kunit_try_catch/220
[   33.544027] 
[   33.544406] CPU: 1 UID: 0 PID: 220 Comm: kunit_try_catch Tainted: G    B            N 6.13.0-rc1-next-20241206 #1
[   33.545374] Tainted: [B]=BAD_PAGE, [N]=TEST
[   33.545986] Hardware name: linux,dummy-virt (DT)
[   33.547102] Call trace:
[   33.547572]  show_stack+0x20/0x38 (C)
[   33.548213]  dump_stack_lvl+0x8c/0xd0
[   33.548868]  print_report+0x118/0x5e0
[   33.549389]  kasan_report+0xc8/0x118
[   33.550032]  __asan_report_load1_noabort+0x20/0x30
[   33.551158]  mempool_uaf_helper+0x314/0x340
[   33.551809]  mempool_slab_uaf+0xb8/0x110
[   33.552459]  kunit_try_run_case+0x14c/0x3d0
[   33.553108]  kunit_generic_run_threadfn_adapter+0x88/0x100
[   33.553830]  kthread+0x24c/0x2d0
[   33.554847]  ret_from_fork+0x10/0x20
[   33.555438] 
[   33.555817] Allocated by task 220:
[   33.556314]  kasan_save_stack+0x3c/0x68
[   33.556974]  kasan_save_track+0x20/0x40
[   33.557479]  kasan_save_alloc_info+0x40/0x58
[   33.558597]  __kasan_mempool_unpoison_object+0xbc/0x180
[   33.559314]  remove_element+0x16c/0x1f8
[   33.559862]  mempool_alloc_preallocated+0x58/0xc0
[   33.560592]  mempool_uaf_helper+0xa4/0x340
[   33.561155]  mempool_slab_uaf+0xb8/0x110
[   33.561806]  kunit_try_run_case+0x14c/0x3d0
[   33.562757]  kunit_generic_run_threadfn_adapter+0x88/0x100
[   33.563563]  kthread+0x24c/0x2d0
[   33.564088]  ret_from_fork+0x10/0x20
[   33.564707] 
[   33.565055] Freed by task 220:
[   33.565537]  kasan_save_stack+0x3c/0x68
[   33.566164]  kasan_save_track+0x20/0x40
[   33.567200]  kasan_save_free_info+0x4c/0x78
[   33.567805]  __kasan_mempool_poison_object+0xc0/0x150
[   33.568427]  mempool_free+0x28c/0x328
[   33.569069]  mempool_uaf_helper+0x104/0x340
[   33.569686]  mempool_slab_uaf+0xb8/0x110
[   33.570204]  kunit_try_run_case+0x14c/0x3d0
[   33.570910]  kunit_generic_run_threadfn_adapter+0x88/0x100
[   33.571622]  kthread+0x24c/0x2d0
[   33.572184]  ret_from_fork+0x10/0x20
[   33.573171] 
[   33.573550] The buggy address belongs to the object at fff00000c69e2240
[   33.573550]  which belongs to the cache test_cache of size 123
[   33.575110] The buggy address is located 0 bytes inside of
[   33.575110]  freed 123-byte region [fff00000c69e2240, fff00000c69e22bb)
[   33.576448] 
[   33.576844] The buggy address belongs to the physical page:
[   33.577426] page: refcount:0 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x1069e2
[   33.578402] flags: 0xbfffe0000000000(node=0|zone=2|lastcpupid=0x1ffff)
[   33.579837] page_type: f5(slab)
[   33.580394] raw: 0bfffe0000000000 fff00000c13faa00 dead000000000122 0000000000000000
[   33.581204] raw: 0000000000000000 0000000080150015 00000000f5000000 0000000000000000
[   33.582487] page dumped because: kasan: bad access detected
[   33.583262] 
[   33.583651] Memory state around the buggy address:
[   33.584286]  fff00000c69e2100: fb fb fb fb fb fb fb fb fc fc fc fc fc fc fc fc
[   33.585723]  fff00000c69e2180: fa fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
[   33.586802] >fff00000c69e2200: fc fc fc fc fc fc fc fc fa fb fb fb fb fb fb fb
[   33.587449]                                            ^
[   33.588196]  fff00000c69e2280: fb fb fb fb fb fb fb fb fc fc fc fc fc fc fc fc
[   33.589249]  fff00000c69e2300: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
[   33.590063] ==================================================================

[   26.290952] ==================================================================
[   26.292032] BUG: KASAN: slab-use-after-free in mempool_uaf_helper+0x394/0x400
[   26.292694] Read of size 1 at addr ffff888102481240 by task kunit_try_catch/239
[   26.293421] 
[   26.293619] CPU: 1 UID: 0 PID: 239 Comm: kunit_try_catch Tainted: G    B            N 6.13.0-rc1-next-20241206 #1
[   26.294691] Tainted: [B]=BAD_PAGE, [N]=TEST
[   26.295076] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2 04/01/2014
[   26.295842] Call Trace:
[   26.296257]  <TASK>
[   26.296575]  dump_stack_lvl+0x73/0xb0
[   26.296993]  print_report+0xd1/0x640
[   26.297330]  ? __virt_addr_valid+0x1db/0x2d0
[   26.297824]  ? kasan_complete_mode_report_info+0x64/0x200
[   26.298549]  kasan_report+0x102/0x140
[   26.299032]  ? mempool_uaf_helper+0x394/0x400
[   26.299476]  ? mempool_uaf_helper+0x394/0x400
[   26.299883]  __asan_report_load1_noabort+0x18/0x20
[   26.300316]  mempool_uaf_helper+0x394/0x400
[   26.300823]  ? __pfx_mempool_uaf_helper+0x10/0x10
[   26.301469]  ? finish_task_switch.isra.0+0x153/0x700
[   26.302026]  mempool_slab_uaf+0xae/0x100
[   26.302436]  ? __pfx_mempool_slab_uaf+0x10/0x10
[   26.302907]  ? __switch_to+0x5d9/0xf60
[   26.303497]  ? __pfx_mempool_alloc_slab+0x10/0x10
[   26.303980]  ? __pfx_mempool_free_slab+0x10/0x10
[   26.304456]  ? __pfx_read_tsc+0x10/0x10
[   26.304947]  ? ktime_get_ts64+0x86/0x230
[   26.305328]  kunit_try_run_case+0x1b3/0x490
[   26.305823]  ? __pfx_kunit_try_run_case+0x10/0x10
[   26.306495]  ? _raw_spin_lock_irqsave+0xa2/0x110
[   26.307143]  ? _raw_spin_unlock_irqrestore+0x5f/0x90
[   26.307561]  ? __kthread_parkme+0x82/0x160
[   26.308056]  ? preempt_count_sub+0x50/0x80
[   26.308462]  ? __pfx_kunit_try_run_case+0x10/0x10
[   26.308787]  ? __pfx_kunit_generic_run_threadfn_adapter+0x10/0x10
[   26.309356]  kunit_generic_run_threadfn_adapter+0x85/0xf0
[   26.309971]  kthread+0x257/0x310
[   26.310476]  ? __pfx_kthread+0x10/0x10
[   26.310875]  ret_from_fork+0x41/0x80
[   26.311360]  ? __pfx_kthread+0x10/0x10
[   26.311768]  ret_from_fork_asm+0x1a/0x30
[   26.312333]  </TASK>
[   26.312523] 
[   26.312678] Allocated by task 239:
[   26.312927]  kasan_save_stack+0x3d/0x60
[   26.313525]  kasan_save_track+0x18/0x40
[   26.314137]  kasan_save_alloc_info+0x3b/0x50
[   26.314638]  __kasan_mempool_unpoison_object+0x1bb/0x200
[   26.315342]  remove_element+0x11e/0x190
[   26.315672]  mempool_alloc_preallocated+0x4d/0x90
[   26.316059]  mempool_uaf_helper+0x97/0x400
[   26.316619]  mempool_slab_uaf+0xae/0x100
[   26.317142]  kunit_try_run_case+0x1b3/0x490
[   26.317516]  kunit_generic_run_threadfn_adapter+0x85/0xf0
[   26.317993]  kthread+0x257/0x310
[   26.318320]  ret_from_fork+0x41/0x80
[   26.318595]  ret_from_fork_asm+0x1a/0x30
[   26.318887] 
[   26.319216] Freed by task 239:
[   26.319621]  kasan_save_stack+0x3d/0x60
[   26.320203]  kasan_save_track+0x18/0x40
[   26.320683]  kasan_save_free_info+0x3f/0x60
[   26.322299]  __kasan_mempool_poison_object+0x131/0x1d0
[   26.323480]  mempool_free+0x2ec/0x380
[   26.323895]  mempool_uaf_helper+0x11b/0x400
[   26.324396]  mempool_slab_uaf+0xae/0x100
[   26.324798]  kunit_try_run_case+0x1b3/0x490
[   26.325653]  kunit_generic_run_threadfn_adapter+0x85/0xf0
[   26.326158]  kthread+0x257/0x310
[   26.326473]  ret_from_fork+0x41/0x80
[   26.326787]  ret_from_fork_asm+0x1a/0x30
[   26.327199] 
[   26.327427] The buggy address belongs to the object at ffff888102481240
[   26.327427]  which belongs to the cache test_cache of size 123
[   26.329040] The buggy address is located 0 bytes inside of
[   26.329040]  freed 123-byte region [ffff888102481240, ffff8881024812bb)
[   26.330156] 
[   26.330372] The buggy address belongs to the physical page:
[   26.330844] page: refcount:0 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x102481
[   26.331626] flags: 0x200000000000000(node=0|zone=2)
[   26.332252] page_type: f5(slab)
[   26.332688] raw: 0200000000000000 ffff888101116b40 dead000000000122 0000000000000000
[   26.333248] raw: 0000000000000000 0000000080150015 00000000f5000000 0000000000000000
[   26.334139] page dumped because: kasan: bad access detected
[   26.334488] 
[   26.334720] Memory state around the buggy address:
[   26.335366]  ffff888102481100: fb fb fb fb fb fb fb fb fc fc fc fc fc fc fc fc
[   26.335903]  ffff888102481180: fa fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
[   26.336538] >ffff888102481200: fc fc fc fc fc fc fc fc fa fb fb fb fb fb fb fb
[   26.336956]                                            ^
[   26.337609]  ffff888102481280: fb fb fb fb fb fb fb fb fc fc fc fc fc fc fc fc
[   26.338463]  ffff888102481300: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
[   26.339170] ==================================================================
[   26.166784] ==================================================================
[   26.167802] BUG: KASAN: slab-use-after-free in mempool_uaf_helper+0x394/0x400
[   26.169851] Read of size 1 at addr ffff88810247d500 by task kunit_try_catch/235
[   26.170383] 
[   26.170514] CPU: 1 UID: 0 PID: 235 Comm: kunit_try_catch Tainted: G    B            N 6.13.0-rc1-next-20241206 #1
[   26.170903] Tainted: [B]=BAD_PAGE, [N]=TEST
[   26.171157] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2 04/01/2014
[   26.171664] Call Trace:
[   26.171991]  <TASK>
[   26.172306]  dump_stack_lvl+0x73/0xb0
[   26.173307]  print_report+0xd1/0x640
[   26.173666]  ? __virt_addr_valid+0x1db/0x2d0
[   26.174021]  ? kasan_complete_mode_report_info+0x64/0x200
[   26.174639]  kasan_report+0x102/0x140
[   26.175131]  ? mempool_uaf_helper+0x394/0x400
[   26.175536]  ? mempool_uaf_helper+0x394/0x400
[   26.176053]  __asan_report_load1_noabort+0x18/0x20
[   26.176523]  mempool_uaf_helper+0x394/0x400
[   26.177480]  ? __pfx_mempool_uaf_helper+0x10/0x10
[   26.177872]  ? finish_task_switch.isra.0+0x153/0x700
[   26.178618]  mempool_kmalloc_uaf+0xb3/0x100
[   26.179472]  ? __pfx_mempool_kmalloc_uaf+0x10/0x10
[   26.179963]  ? __switch_to+0x5d9/0xf60
[   26.180462]  ? __pfx_mempool_kmalloc+0x10/0x10
[   26.181258]  ? __pfx_mempool_kfree+0x10/0x10
[   26.181860]  ? __pfx_read_tsc+0x10/0x10
[   26.182497]  ? ktime_get_ts64+0x86/0x230
[   26.182925]  kunit_try_run_case+0x1b3/0x490
[   26.183792]  ? __pfx_kunit_try_run_case+0x10/0x10
[   26.184773]  ? _raw_spin_lock_irqsave+0xa2/0x110
[   26.185539]  ? _raw_spin_unlock_irqrestore+0x5f/0x90
[   26.186144]  ? __kthread_parkme+0x82/0x160
[   26.186898]  ? preempt_count_sub+0x50/0x80
[   26.187529]  ? __pfx_kunit_try_run_case+0x10/0x10
[   26.188035]  ? __pfx_kunit_generic_run_threadfn_adapter+0x10/0x10
[   26.189227]  kunit_generic_run_threadfn_adapter+0x85/0xf0
[   26.189724]  kthread+0x257/0x310
[   26.190435]  ? __pfx_kthread+0x10/0x10
[   26.191068]  ret_from_fork+0x41/0x80
[   26.191620]  ? __pfx_kthread+0x10/0x10
[   26.192027]  ret_from_fork_asm+0x1a/0x30
[   26.192964]  </TASK>
[   26.193354] 
[   26.193714] Allocated by task 235:
[   26.194321]  kasan_save_stack+0x3d/0x60
[   26.194650]  kasan_save_track+0x18/0x40
[   26.195215]  kasan_save_alloc_info+0x3b/0x50
[   26.195705]  __kasan_mempool_unpoison_object+0x1a9/0x200
[   26.196307]  remove_element+0x11e/0x190
[   26.196806]  mempool_alloc_preallocated+0x4d/0x90
[   26.197422]  mempool_uaf_helper+0x97/0x400
[   26.197850]  mempool_kmalloc_uaf+0xb3/0x100
[   26.198382]  kunit_try_run_case+0x1b3/0x490
[   26.198856]  kunit_generic_run_threadfn_adapter+0x85/0xf0
[   26.199431]  kthread+0x257/0x310
[   26.199819]  ret_from_fork+0x41/0x80
[   26.200296]  ret_from_fork_asm+0x1a/0x30
[   26.200775] 
[   26.201059] Freed by task 235:
[   26.201481]  kasan_save_stack+0x3d/0x60
[   26.201902]  kasan_save_track+0x18/0x40
[   26.202540]  kasan_save_free_info+0x3f/0x60
[   26.202854]  __kasan_mempool_poison_object+0x131/0x1d0
[   26.203539]  mempool_free+0x2ec/0x380
[   26.203993]  mempool_uaf_helper+0x11b/0x400
[   26.204581]  mempool_kmalloc_uaf+0xb3/0x100
[   26.205025]  kunit_try_run_case+0x1b3/0x490
[   26.205385]  kunit_generic_run_threadfn_adapter+0x85/0xf0
[   26.206182]  kthread+0x257/0x310
[   26.206616]  ret_from_fork+0x41/0x80
[   26.206885]  ret_from_fork_asm+0x1a/0x30
[   26.207460] 
[   26.207731] The buggy address belongs to the object at ffff88810247d500
[   26.207731]  which belongs to the cache kmalloc-128 of size 128
[   26.208831] The buggy address is located 0 bytes inside of
[   26.208831]  freed 128-byte region [ffff88810247d500, ffff88810247d580)
[   26.210057] 
[   26.210421] The buggy address belongs to the physical page:
[   26.210824] page: refcount:0 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x10247d
[   26.211706] flags: 0x200000000000000(node=0|zone=2)
[   26.212350] page_type: f5(slab)
[   26.212830] raw: 0200000000000000 ffff888100041a00 dead000000000122 0000000000000000
[   26.213664] raw: 0000000000000000 0000000080100010 00000000f5000000 0000000000000000
[   26.214558] page dumped because: kasan: bad access detected
[   26.215016] 
[   26.215258] Memory state around the buggy address:
[   26.215719]  ffff88810247d400: fa fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
[   26.216470]  ffff88810247d480: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
[   26.217266] >ffff88810247d500: fa fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
[   26.217862]                    ^
[   26.218301]  ffff88810247d580: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
[   26.218988]  ffff88810247d600: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[   26.219747] ==================================================================