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

Environment
qemu-arm64
qemu-x86_64

[   32.908120] ==================================================================
[   32.909748] BUG: KASAN: slab-use-after-free in mempool_uaf_helper+0x314/0x340
[   32.910767] Read of size 1 at addr fff00000c5945240 by task kunit_try_catch/220
[   32.912358] 
[   32.912801] CPU: 1 UID: 0 PID: 220 Comm: kunit_try_catch Tainted: G    B            N 6.13.0-rc1-next-20241203 #1
[   32.914043] Tainted: [B]=BAD_PAGE, [N]=TEST
[   32.914717] Hardware name: linux,dummy-virt (DT)
[   32.915601] Call trace:
[   32.916607]  show_stack+0x20/0x38 (C)
[   32.917135]  dump_stack_lvl+0x8c/0xd0
[   32.917677]  print_report+0x118/0x5e0
[   32.918286]  kasan_report+0xc8/0x118
[   32.918804]  __asan_report_load1_noabort+0x20/0x30
[   32.919756]  mempool_uaf_helper+0x314/0x340
[   32.920782]  mempool_slab_uaf+0xb8/0x110
[   32.921493]  kunit_try_run_case+0x14c/0x3d0
[   32.922041]  kunit_generic_run_threadfn_adapter+0x88/0x100
[   32.923074]  kthread+0x24c/0x2d0
[   32.924004]  ret_from_fork+0x10/0x20
[   32.924783] 
[   32.925060] Allocated by task 220:
[   32.925751]  kasan_save_stack+0x3c/0x68
[   32.926208]  kasan_save_track+0x20/0x40
[   32.927076]  kasan_save_alloc_info+0x40/0x58
[   32.927999]  __kasan_mempool_unpoison_object+0xbc/0x180
[   32.928890]  remove_element+0x16c/0x1f8
[   32.929970]  mempool_alloc_preallocated+0x58/0xc0
[   32.930855]  mempool_uaf_helper+0xa4/0x340
[   32.931783]  mempool_slab_uaf+0xb8/0x110
[   32.932922]  kunit_try_run_case+0x14c/0x3d0
[   32.933864]  kunit_generic_run_threadfn_adapter+0x88/0x100
[   32.934646]  kthread+0x24c/0x2d0
[   32.935691]  ret_from_fork+0x10/0x20
[   32.936225] 
[   32.936586] Freed by task 220:
[   32.937107]  kasan_save_stack+0x3c/0x68
[   32.937996]  kasan_save_track+0x20/0x40
[   32.938642]  kasan_save_free_info+0x4c/0x78
[   32.939737]  __kasan_mempool_poison_object+0xc0/0x150
[   32.941050]  mempool_free+0x28c/0x328
[   32.941868]  mempool_uaf_helper+0x104/0x340
[   32.942674]  mempool_slab_uaf+0xb8/0x110
[   32.943713]  kunit_try_run_case+0x14c/0x3d0
[   32.944468]  kunit_generic_run_threadfn_adapter+0x88/0x100
[   32.945271]  kthread+0x24c/0x2d0
[   32.945872]  ret_from_fork+0x10/0x20
[   32.946425] 
[   32.946787] The buggy address belongs to the object at fff00000c5945240
[   32.946787]  which belongs to the cache test_cache of size 123
[   32.949068] The buggy address is located 0 bytes inside of
[   32.949068]  freed 123-byte region [fff00000c5945240, fff00000c59452bb)
[   32.951263] 
[   32.951827] The buggy address belongs to the physical page:
[   32.952490] page: refcount:0 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x105945
[   32.953443] flags: 0xbfffe0000000000(node=0|zone=2|lastcpupid=0x1ffff)
[   32.954271] page_type: f5(slab)
[   32.954854] raw: 0bfffe0000000000 fff00000c56f9a00 dead000000000122 0000000000000000
[   32.956497] raw: 0000000000000000 0000000080150015 00000000f5000000 0000000000000000
[   32.957402] page dumped because: kasan: bad access detected
[   32.958060] 
[   32.958598] Memory state around the buggy address:
[   32.959486]  fff00000c5945100: fb fb fb fb fb fb fb fb fc fc fc fc fc fc fc fc
[   32.960428]  fff00000c5945180: fa fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
[   32.961257] >fff00000c5945200: fc fc fc fc fc fc fc fc fa fb fb fb fb fb fb fb
[   32.962138]                                            ^
[   32.962793]  fff00000c5945280: fb fb fb fb fb fb fb fb fc fc fc fc fc fc fc fc
[   32.963898]  fff00000c5945300: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
[   32.964691] ==================================================================
[   32.794447] ==================================================================
[   32.795647] BUG: KASAN: slab-use-after-free in mempool_uaf_helper+0x314/0x340
[   32.796575] Read of size 1 at addr fff00000c5912b00 by task kunit_try_catch/216
[   32.797421] 
[   32.797759] CPU: 1 UID: 0 PID: 216 Comm: kunit_try_catch Tainted: G    B            N 6.13.0-rc1-next-20241203 #1
[   32.799648] Tainted: [B]=BAD_PAGE, [N]=TEST
[   32.800621] Hardware name: linux,dummy-virt (DT)
[   32.801210] Call trace:
[   32.801652]  show_stack+0x20/0x38 (C)
[   32.802938]  dump_stack_lvl+0x8c/0xd0
[   32.803482]  print_report+0x118/0x5e0
[   32.803929]  kasan_report+0xc8/0x118
[   32.804622]  __asan_report_load1_noabort+0x20/0x30
[   32.806225]  mempool_uaf_helper+0x314/0x340
[   32.807523]  mempool_kmalloc_uaf+0xbc/0x118
[   32.808108]  kunit_try_run_case+0x14c/0x3d0
[   32.808735]  kunit_generic_run_threadfn_adapter+0x88/0x100
[   32.809592]  kthread+0x24c/0x2d0
[   32.810175]  ret_from_fork+0x10/0x20
[   32.810811] 
[   32.811173] Allocated by task 216:
[   32.811645]  kasan_save_stack+0x3c/0x68
[   32.812394]  kasan_save_track+0x20/0x40
[   32.813083]  kasan_save_alloc_info+0x40/0x58
[   32.814252]  __kasan_mempool_unpoison_object+0x11c/0x180
[   32.815430]  remove_element+0x130/0x1f8
[   32.815991]  mempool_alloc_preallocated+0x58/0xc0
[   32.816646]  mempool_uaf_helper+0xa4/0x340
[   32.817224]  mempool_kmalloc_uaf+0xbc/0x118
[   32.817818]  kunit_try_run_case+0x14c/0x3d0
[   32.818474]  kunit_generic_run_threadfn_adapter+0x88/0x100
[   32.819660]  kthread+0x24c/0x2d0
[   32.820136]  ret_from_fork+0x10/0x20
[   32.820777] 
[   32.821064] Freed by task 216:
[   32.821554]  kasan_save_stack+0x3c/0x68
[   32.822157]  kasan_save_track+0x20/0x40
[   32.822799]  kasan_save_free_info+0x4c/0x78
[   32.823735]  __kasan_mempool_poison_object+0xc0/0x150
[   32.824407]  mempool_free+0x28c/0x328
[   32.825015]  mempool_uaf_helper+0x104/0x340
[   32.825860]  mempool_kmalloc_uaf+0xbc/0x118
[   32.826296]  kunit_try_run_case+0x14c/0x3d0
[   32.827228]  kunit_generic_run_threadfn_adapter+0x88/0x100
[   32.828115]  kthread+0x24c/0x2d0
[   32.828799]  ret_from_fork+0x10/0x20
[   32.829525] 
[   32.829841] The buggy address belongs to the object at fff00000c5912b00
[   32.829841]  which belongs to the cache kmalloc-128 of size 128
[   32.831934] The buggy address is located 0 bytes inside of
[   32.831934]  freed 128-byte region [fff00000c5912b00, fff00000c5912b80)
[   32.832764] 
[   32.832943] The buggy address belongs to the physical page:
[   32.833281] page: refcount:0 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x105912
[   32.834066] flags: 0xbfffe0000000000(node=0|zone=2|lastcpupid=0x1ffff)
[   32.834748] page_type: f5(slab)
[   32.835841] raw: 0bfffe0000000000 fff00000c0001a00 dead000000000122 0000000000000000
[   32.836932] raw: 0000000000000000 0000000080100010 00000000f5000000 0000000000000000
[   32.838125] page dumped because: kasan: bad access detected
[   32.839264] 
[   32.839710] Memory state around the buggy address:
[   32.840864]  fff00000c5912a00: fa fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
[   32.841694]  fff00000c5912a80: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
[   32.842571] >fff00000c5912b00: fa fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
[   32.843701]                    ^
[   32.844381]  fff00000c5912b80: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
[   32.845387]  fff00000c5912c00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[   32.846252] ==================================================================

[   28.221089] ==================================================================
[   28.221757] BUG: KASAN: slab-use-after-free in mempool_uaf_helper+0x394/0x400
[   28.222524] Read of size 1 at addr ffff888102a59240 by task kunit_try_catch/240
[   28.223132] 
[   28.223354] CPU: 1 UID: 0 PID: 240 Comm: kunit_try_catch Tainted: G    B            N 6.13.0-rc1-next-20241203 #1
[   28.224111] Tainted: [B]=BAD_PAGE, [N]=TEST
[   28.224828] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2 04/01/2014
[   28.225827] Call Trace:
[   28.226119]  <TASK>
[   28.226314]  dump_stack_lvl+0x73/0xb0
[   28.226956]  print_report+0xd1/0x640
[   28.227311]  ? __virt_addr_valid+0x1db/0x2d0
[   28.228105]  ? kasan_complete_mode_report_info+0x64/0x200
[   28.228626]  kasan_report+0x102/0x140
[   28.228927]  ? mempool_uaf_helper+0x394/0x400
[   28.229418]  ? mempool_uaf_helper+0x394/0x400
[   28.229928]  __asan_report_load1_noabort+0x18/0x20
[   28.230340]  mempool_uaf_helper+0x394/0x400
[   28.230746]  ? __pfx_mempool_uaf_helper+0x10/0x10
[   28.231149]  ? finish_task_switch.isra.0+0x153/0x700
[   28.232154]  mempool_slab_uaf+0xae/0x100
[   28.232698]  ? __pfx_mempool_slab_uaf+0x10/0x10
[   28.233405]  ? __switch_to+0x5d9/0xf60
[   28.233766]  ? __pfx_mempool_alloc_slab+0x10/0x10
[   28.234330]  ? __pfx_mempool_free_slab+0x10/0x10
[   28.234964]  ? __pfx_read_tsc+0x10/0x10
[   28.235517]  ? ktime_get_ts64+0x86/0x230
[   28.236151]  kunit_try_run_case+0x1b3/0x490
[   28.236577]  ? __pfx_kunit_try_run_case+0x10/0x10
[   28.236955]  ? _raw_spin_lock_irqsave+0xa2/0x110
[   28.237404]  ? _raw_spin_unlock_irqrestore+0x5f/0x90
[   28.237942]  ? __kthread_parkme+0x82/0x160
[   28.238954]  ? preempt_count_sub+0x50/0x80
[   28.239537]  ? __pfx_kunit_try_run_case+0x10/0x10
[   28.240166]  ? __pfx_kunit_generic_run_threadfn_adapter+0x10/0x10
[   28.240760]  kunit_generic_run_threadfn_adapter+0x85/0xf0
[   28.241415]  kthread+0x257/0x310
[   28.242066]  ? __pfx_kthread+0x10/0x10
[   28.242733]  ret_from_fork+0x41/0x80
[   28.243231]  ? __pfx_kthread+0x10/0x10
[   28.243796]  ret_from_fork_asm+0x1a/0x30
[   28.244096]  </TASK>
[   28.244359] 
[   28.245025] Allocated by task 240:
[   28.245246]  kasan_save_stack+0x3d/0x60
[   28.246011]  kasan_save_track+0x18/0x40
[   28.246435]  kasan_save_alloc_info+0x3b/0x50
[   28.247371]  __kasan_mempool_unpoison_object+0x1bb/0x200
[   28.248140]  remove_element+0x11e/0x190
[   28.248480]  mempool_alloc_preallocated+0x4d/0x90
[   28.249025]  mempool_uaf_helper+0x97/0x400
[   28.249930]  mempool_slab_uaf+0xae/0x100
[   28.250305]  kunit_try_run_case+0x1b3/0x490
[   28.250742]  kunit_generic_run_threadfn_adapter+0x85/0xf0
[   28.251288]  kthread+0x257/0x310
[   28.251993]  ret_from_fork+0x41/0x80
[   28.252694]  ret_from_fork_asm+0x1a/0x30
[   28.252952] 
[   28.253181] Freed by task 240:
[   28.253480]  kasan_save_stack+0x3d/0x60
[   28.254347]  kasan_save_track+0x18/0x40
[   28.254670]  kasan_save_free_info+0x3f/0x60
[   28.255306]  __kasan_mempool_poison_object+0x131/0x1d0
[   28.256043]  mempool_free+0x2ec/0x380
[   28.256447]  mempool_uaf_helper+0x11b/0x400
[   28.256836]  mempool_slab_uaf+0xae/0x100
[   28.257170]  kunit_try_run_case+0x1b3/0x490
[   28.257577]  kunit_generic_run_threadfn_adapter+0x85/0xf0
[   28.258431]  kthread+0x257/0x310
[   28.258759]  ret_from_fork+0x41/0x80
[   28.259027]  ret_from_fork_asm+0x1a/0x30
[   28.259215] 
[   28.259296] The buggy address belongs to the object at ffff888102a59240
[   28.259296]  which belongs to the cache test_cache of size 123
[   28.260936] The buggy address is located 0 bytes inside of
[   28.260936]  freed 123-byte region [ffff888102a59240, ffff888102a592bb)
[   28.262011] 
[   28.262175] The buggy address belongs to the physical page:
[   28.262594] page: refcount:0 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x102a59
[   28.263282] flags: 0x200000000000000(node=0|zone=2)
[   28.263766] page_type: f5(slab)
[   28.264184] raw: 0200000000000000 ffff888101e708c0 dead000000000122 0000000000000000
[   28.265045] raw: 0000000000000000 0000000080150015 00000000f5000000 0000000000000000
[   28.265416] page dumped because: kasan: bad access detected
[   28.265907] 
[   28.266129] Memory state around the buggy address:
[   28.266578]  ffff888102a59100: fb fb fb fb fb fb fb fb fc fc fc fc fc fc fc fc
[   28.267261]  ffff888102a59180: fa fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
[   28.268118] >ffff888102a59200: fc fc fc fc fc fc fc fc fa fb fb fb fb fb fb fb
[   28.268847]                                            ^
[   28.269395]  ffff888102a59280: fb fb fb fb fb fb fb fb fc fc fc fc fc fc fc fc
[   28.269942]  ffff888102a59300: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
[   28.270245] ==================================================================
[   28.116375] ==================================================================
[   28.117350] BUG: KASAN: slab-use-after-free in mempool_uaf_helper+0x394/0x400
[   28.118124] Read of size 1 at addr ffff888102994800 by task kunit_try_catch/236
[   28.118661] 
[   28.118847] CPU: 0 UID: 0 PID: 236 Comm: kunit_try_catch Tainted: G    B            N 6.13.0-rc1-next-20241203 #1
[   28.120933] Tainted: [B]=BAD_PAGE, [N]=TEST
[   28.121632] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2 04/01/2014
[   28.122252] Call Trace:
[   28.122530]  <TASK>
[   28.122764]  dump_stack_lvl+0x73/0xb0
[   28.123094]  print_report+0xd1/0x640
[   28.123480]  ? __virt_addr_valid+0x1db/0x2d0
[   28.123937]  ? kasan_complete_mode_report_info+0x64/0x200
[   28.124575]  kasan_report+0x102/0x140
[   28.125222]  ? mempool_uaf_helper+0x394/0x400
[   28.125837]  ? mempool_uaf_helper+0x394/0x400
[   28.126296]  __asan_report_load1_noabort+0x18/0x20
[   28.126934]  mempool_uaf_helper+0x394/0x400
[   28.127281]  ? __pfx_mempool_uaf_helper+0x10/0x10
[   28.127896]  ? finish_task_switch.isra.0+0x153/0x700
[   28.128417]  mempool_kmalloc_uaf+0xb3/0x100
[   28.129111]  ? __pfx_mempool_kmalloc_uaf+0x10/0x10
[   28.129508]  ? __switch_to+0x5d9/0xf60
[   28.130519]  ? __pfx_mempool_kmalloc+0x10/0x10
[   28.131045]  ? __pfx_mempool_kfree+0x10/0x10
[   28.131500]  ? __pfx_read_tsc+0x10/0x10
[   28.131876]  ? ktime_get_ts64+0x86/0x230
[   28.132309]  kunit_try_run_case+0x1b3/0x490
[   28.132736]  ? __pfx_kunit_try_run_case+0x10/0x10
[   28.133221]  ? _raw_spin_lock_irqsave+0xa2/0x110
[   28.133615]  ? _raw_spin_unlock_irqrestore+0x5f/0x90
[   28.134404]  ? __kthread_parkme+0x82/0x160
[   28.134910]  ? preempt_count_sub+0x50/0x80
[   28.135356]  ? __pfx_kunit_try_run_case+0x10/0x10
[   28.135984]  ? __pfx_kunit_generic_run_threadfn_adapter+0x10/0x10
[   28.136547]  kunit_generic_run_threadfn_adapter+0x85/0xf0
[   28.137224]  kthread+0x257/0x310
[   28.137856]  ? __pfx_kthread+0x10/0x10
[   28.138232]  ret_from_fork+0x41/0x80
[   28.138498]  ? __pfx_kthread+0x10/0x10
[   28.138999]  ret_from_fork_asm+0x1a/0x30
[   28.139435]  </TASK>
[   28.139872] 
[   28.140099] Allocated by task 236:
[   28.140455]  kasan_save_stack+0x3d/0x60
[   28.141021]  kasan_save_track+0x18/0x40
[   28.141440]  kasan_save_alloc_info+0x3b/0x50
[   28.142099]  __kasan_mempool_unpoison_object+0x1a9/0x200
[   28.142441]  remove_element+0x11e/0x190
[   28.142942]  mempool_alloc_preallocated+0x4d/0x90
[   28.143405]  mempool_uaf_helper+0x97/0x400
[   28.143943]  mempool_kmalloc_uaf+0xb3/0x100
[   28.144239]  kunit_try_run_case+0x1b3/0x490
[   28.144519]  kunit_generic_run_threadfn_adapter+0x85/0xf0
[   28.145200]  kthread+0x257/0x310
[   28.145583]  ret_from_fork+0x41/0x80
[   28.146277]  ret_from_fork_asm+0x1a/0x30
[   28.146835] 
[   28.147050] Freed by task 236:
[   28.147381]  kasan_save_stack+0x3d/0x60
[   28.148001]  kasan_save_track+0x18/0x40
[   28.148334]  kasan_save_free_info+0x3f/0x60
[   28.148631]  __kasan_mempool_poison_object+0x131/0x1d0
[   28.149301]  mempool_free+0x2ec/0x380
[   28.149984]  mempool_uaf_helper+0x11b/0x400
[   28.150493]  mempool_kmalloc_uaf+0xb3/0x100
[   28.151091]  kunit_try_run_case+0x1b3/0x490
[   28.151499]  kunit_generic_run_threadfn_adapter+0x85/0xf0
[   28.152143]  kthread+0x257/0x310
[   28.152524]  ret_from_fork+0x41/0x80
[   28.152829]  ret_from_fork_asm+0x1a/0x30
[   28.153355] 
[   28.153869] The buggy address belongs to the object at ffff888102994800
[   28.153869]  which belongs to the cache kmalloc-128 of size 128
[   28.154852] The buggy address is located 0 bytes inside of
[   28.154852]  freed 128-byte region [ffff888102994800, ffff888102994880)
[   28.155408] 
[   28.155601] The buggy address belongs to the physical page:
[   28.156298] page: refcount:0 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x102994
[   28.157227] flags: 0x200000000000000(node=0|zone=2)
[   28.157947] page_type: f5(slab)
[   28.158308] raw: 0200000000000000 ffff888100041a00 dead000000000122 0000000000000000
[   28.159169] raw: 0000000000000000 0000000080100010 00000000f5000000 0000000000000000
[   28.159854] page dumped because: kasan: bad access detected
[   28.160166] 
[   28.160310] Memory state around the buggy address:
[   28.160602]  ffff888102994700: fa fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
[   28.161225]  ffff888102994780: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
[   28.161833] >ffff888102994800: fa fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
[   28.163665]                    ^
[   28.164200]  ffff888102994880: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
[   28.164991]  ffff888102994900: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[   28.165473] ==================================================================