Hay
Date
Nov. 22, 2024, 6:35 a.m.

Environment
qemu-arm64
qemu-x86_64

[   36.408197] ==================================================================
[   36.410607] BUG: KASAN: slab-use-after-free in mempool_uaf_helper+0x314/0x340
[   36.411662] Read of size 1 at addr fff00000c6ad9240 by task kunit_try_catch/220
[   36.412832] 
[   36.413276] CPU: 0 UID: 0 PID: 220 Comm: kunit_try_catch Tainted: G    B            N 6.12.0-next-20241122 #1
[   36.414714] Tainted: [B]=BAD_PAGE, [N]=TEST
[   36.415351] Hardware name: linux,dummy-virt (DT)
[   36.416123] Call trace:
[   36.416578]  show_stack+0x20/0x38 (C)
[   36.417868]  dump_stack_lvl+0x8c/0xd0
[   36.418580]  print_report+0x118/0x5e0
[   36.419179]  kasan_report+0xc8/0x118
[   36.419856]  __asan_report_load1_noabort+0x20/0x30
[   36.420642]  mempool_uaf_helper+0x314/0x340
[   36.421502]  mempool_slab_uaf+0xb8/0x110
[   36.422048]  kunit_try_run_case+0x14c/0x3d0
[   36.422665]  kunit_generic_run_threadfn_adapter+0x88/0x100
[   36.423531]  kthread+0x24c/0x2d0
[   36.424105]  ret_from_fork+0x10/0x20
[   36.425087] 
[   36.425674] Allocated by task 220:
[   36.426283]  kasan_save_stack+0x3c/0x68
[   36.426908]  kasan_save_track+0x20/0x40
[   36.427625]  kasan_save_alloc_info+0x40/0x58
[   36.428285]  __kasan_mempool_unpoison_object+0xbc/0x180
[   36.429368]  remove_element+0x16c/0x1f8
[   36.430665]  mempool_alloc_preallocated+0x58/0xc0
[   36.431596]  mempool_uaf_helper+0xa4/0x340
[   36.432165]  mempool_slab_uaf+0xb8/0x110
[   36.433495]  kunit_try_run_case+0x14c/0x3d0
[   36.434136]  kunit_generic_run_threadfn_adapter+0x88/0x100
[   36.434924]  kthread+0x24c/0x2d0
[   36.435753]  ret_from_fork+0x10/0x20
[   36.436574] 
[   36.437346] Freed by task 220:
[   36.438097]  kasan_save_stack+0x3c/0x68
[   36.438754]  kasan_save_track+0x20/0x40
[   36.439619]  kasan_save_free_info+0x4c/0x78
[   36.440331]  __kasan_mempool_poison_object+0xc0/0x150
[   36.441383]  mempool_free+0x28c/0x328
[   36.441945]  mempool_uaf_helper+0x104/0x340
[   36.443013]  mempool_slab_uaf+0xb8/0x110
[   36.443627]  kunit_try_run_case+0x14c/0x3d0
[   36.444310]  kunit_generic_run_threadfn_adapter+0x88/0x100
[   36.445421]  kthread+0x24c/0x2d0
[   36.445927]  ret_from_fork+0x10/0x20
[   36.446457] 
[   36.446773] The buggy address belongs to the object at fff00000c6ad9240
[   36.446773]  which belongs to the cache test_cache of size 123
[   36.448377] The buggy address is located 0 bytes inside of
[   36.448377]  freed 123-byte region [fff00000c6ad9240, fff00000c6ad92bb)
[   36.450596] 
[   36.450897] The buggy address belongs to the physical page:
[   36.451781] page: refcount:1 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x106ad9
[   36.453123] flags: 0xbfffe0000000000(node=0|zone=2|lastcpupid=0x1ffff)
[   36.454374] page_type: f5(slab)
[   36.455073] raw: 0bfffe0000000000 fff00000c408cb40 dead000000000122 0000000000000000
[   36.456566] raw: 0000000000000000 0000000080150015 00000001f5000000 0000000000000000
[   36.458242] page dumped because: kasan: bad access detected
[   36.459006] 
[   36.459677] Memory state around the buggy address:
[   36.460247]  fff00000c6ad9100: fb fb fb fb fb fb fb fb fc fc fc fc fc fc fc fc
[   36.461709]  fff00000c6ad9180: fa fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
[   36.463199] >fff00000c6ad9200: fc fc fc fc fc fc fc fc fa fb fb fb fb fb fb fb
[   36.464047]                                            ^
[   36.465398]  fff00000c6ad9280: fb fb fb fb fb fb fb fb fc fc fc fc fc fc fc fc
[   36.466423]  fff00000c6ad9300: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
[   36.467544] ==================================================================
[   36.270239] ==================================================================
[   36.271752] BUG: KASAN: slab-use-after-free in mempool_uaf_helper+0x314/0x340
[   36.273605] Read of size 1 at addr fff00000c6a52100 by task kunit_try_catch/216
[   36.274932] 
[   36.275313] CPU: 1 UID: 0 PID: 216 Comm: kunit_try_catch Tainted: G    B            N 6.12.0-next-20241122 #1
[   36.276815] Tainted: [B]=BAD_PAGE, [N]=TEST
[   36.277462] Hardware name: linux,dummy-virt (DT)
[   36.278165] Call trace:
[   36.278802]  show_stack+0x20/0x38 (C)
[   36.279524]  dump_stack_lvl+0x8c/0xd0
[   36.280370]  print_report+0x118/0x5e0
[   36.281382]  kasan_report+0xc8/0x118
[   36.282282]  __asan_report_load1_noabort+0x20/0x30
[   36.282908]  mempool_uaf_helper+0x314/0x340
[   36.283630]  mempool_kmalloc_uaf+0xbc/0x118
[   36.284892]  kunit_try_run_case+0x14c/0x3d0
[   36.286501]  kunit_generic_run_threadfn_adapter+0x88/0x100
[   36.287091]  kthread+0x24c/0x2d0
[   36.288278]  ret_from_fork+0x10/0x20
[   36.290117] 
[   36.290867] Allocated by task 216:
[   36.292296]  kasan_save_stack+0x3c/0x68
[   36.293270]  kasan_save_track+0x20/0x40
[   36.296293]  kasan_save_alloc_info+0x40/0x58
[   36.297357]  __kasan_mempool_unpoison_object+0x11c/0x180
[   36.298188]  remove_element+0x130/0x1f8
[   36.299960]  mempool_alloc_preallocated+0x58/0xc0
[   36.301225]  mempool_uaf_helper+0xa4/0x340
[   36.302526]  mempool_kmalloc_uaf+0xbc/0x118
[   36.302982]  kunit_try_run_case+0x14c/0x3d0
[   36.304285]  kunit_generic_run_threadfn_adapter+0x88/0x100
[   36.304979]  kthread+0x24c/0x2d0
[   36.306152]  ret_from_fork+0x10/0x20
[   36.307280] 
[   36.308142] Freed by task 216:
[   36.309108]  kasan_save_stack+0x3c/0x68
[   36.310038]  kasan_save_track+0x20/0x40
[   36.311009]  kasan_save_free_info+0x4c/0x78
[   36.311933]  __kasan_mempool_poison_object+0xc0/0x150
[   36.312784]  mempool_free+0x28c/0x328
[   36.313870]  mempool_uaf_helper+0x104/0x340
[   36.314701]  mempool_kmalloc_uaf+0xbc/0x118
[   36.315403]  kunit_try_run_case+0x14c/0x3d0
[   36.316092]  kunit_generic_run_threadfn_adapter+0x88/0x100
[   36.316977]  kthread+0x24c/0x2d0
[   36.317984]  ret_from_fork+0x10/0x20
[   36.319139] 
[   36.319484] The buggy address belongs to the object at fff00000c6a52100
[   36.319484]  which belongs to the cache kmalloc-128 of size 128
[   36.321074] The buggy address is located 0 bytes inside of
[   36.321074]  freed 128-byte region [fff00000c6a52100, fff00000c6a52180)
[   36.322402] 
[   36.323065] The buggy address belongs to the physical page:
[   36.324249] page: refcount:1 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x106a52
[   36.325429] flags: 0xbfffe0000000000(node=0|zone=2|lastcpupid=0x1ffff)
[   36.326533] page_type: f5(slab)
[   36.327094] raw: 0bfffe0000000000 fff00000c0001a00 dead000000000122 0000000000000000
[   36.328132] raw: 0000000000000000 0000000080100010 00000001f5000000 0000000000000000
[   36.329151] page dumped because: kasan: bad access detected
[   36.330324] 
[   36.330613] Memory state around the buggy address:
[   36.331876]  fff00000c6a52000: fa fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
[   36.333382]  fff00000c6a52080: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
[   36.334866] >fff00000c6a52100: fa fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
[   36.335892]                    ^
[   36.336641]  fff00000c6a52180: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
[   36.337500]  fff00000c6a52200: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[   36.338686] ==================================================================

[   27.402761] ==================================================================
[   27.403608] BUG: KASAN: slab-use-after-free in mempool_uaf_helper+0x394/0x400
[   27.404236] Read of size 1 at addr ffff888102a1a240 by task kunit_try_catch/239
[   27.404791] 
[   27.405115] CPU: 1 UID: 0 PID: 239 Comm: kunit_try_catch Tainted: G    B            N 6.12.0-next-20241122 #1
[   27.405976] Tainted: [B]=BAD_PAGE, [N]=TEST
[   27.406496] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2 04/01/2014
[   27.407180] Call Trace:
[   27.408061]  <TASK>
[   27.408344]  dump_stack_lvl+0x73/0xb0
[   27.408658]  print_report+0xd1/0x640
[   27.410576]  ? __virt_addr_valid+0x1db/0x2d0
[   27.411085]  ? kasan_complete_mode_report_info+0x64/0x200
[   27.411491]  kasan_report+0x102/0x140
[   27.412110]  ? mempool_uaf_helper+0x394/0x400
[   27.413023]  ? mempool_uaf_helper+0x394/0x400
[   27.413559]  __asan_report_load1_noabort+0x18/0x20
[   27.414332]  mempool_uaf_helper+0x394/0x400
[   27.414848]  ? __pfx_mempool_uaf_helper+0x10/0x10
[   27.415504]  ? irqentry_exit+0x2a/0x60
[   27.415873]  ? sysvec_apic_timer_interrupt+0x50/0x90
[   27.416952]  mempool_slab_uaf+0xae/0x100
[   27.417310]  ? __pfx_mempool_slab_uaf+0x10/0x10
[   27.418161]  ? __pfx_mempool_alloc_slab+0x10/0x10
[   27.418854]  ? __pfx_mempool_free_slab+0x10/0x10
[   27.419608]  ? __pfx_mempool_slab_uaf+0x10/0x10
[   27.420278]  kunit_try_run_case+0x1b3/0x490
[   27.421239]  ? __pfx_kunit_try_run_case+0x10/0x10
[   27.422027]  ? _raw_spin_lock_irqsave+0xa2/0x110
[   27.422791]  ? _raw_spin_unlock_irqrestore+0x5f/0x90
[   27.423256]  ? __kthread_parkme+0x82/0x160
[   27.424082]  ? preempt_count_sub+0x50/0x80
[   27.424746]  ? __pfx_kunit_try_run_case+0x10/0x10
[   27.425280]  ? __pfx_kunit_generic_run_threadfn_adapter+0x10/0x10
[   27.425966]  kunit_generic_run_threadfn_adapter+0x85/0xf0
[   27.427203]  kthread+0x257/0x310
[   27.427722]  ? __pfx_kthread+0x10/0x10
[   27.428707]  ret_from_fork+0x41/0x80
[   27.429570]  ? __pfx_kthread+0x10/0x10
[   27.429942]  ret_from_fork_asm+0x1a/0x30
[   27.430642]  </TASK>
[   27.431271] 
[   27.431667] Allocated by task 239:
[   27.431932]  kasan_save_stack+0x3d/0x60
[   27.432276]  kasan_save_track+0x18/0x40
[   27.432671]  kasan_save_alloc_info+0x3b/0x50
[   27.433423]  __kasan_mempool_unpoison_object+0x1bb/0x200
[   27.434470]  remove_element+0x11e/0x190
[   27.434871]  mempool_alloc_preallocated+0x4d/0x90
[   27.435361]  mempool_uaf_helper+0x97/0x400
[   27.435747]  mempool_slab_uaf+0xae/0x100
[   27.436693]  kunit_try_run_case+0x1b3/0x490
[   27.437340]  kunit_generic_run_threadfn_adapter+0x85/0xf0
[   27.438182]  kthread+0x257/0x310
[   27.438508]  ret_from_fork+0x41/0x80
[   27.439428]  ret_from_fork_asm+0x1a/0x30
[   27.440110] 
[   27.440265] Freed by task 239:
[   27.440523]  kasan_save_stack+0x3d/0x60
[   27.440999]  kasan_save_track+0x18/0x40
[   27.441388]  kasan_save_free_info+0x3f/0x60
[   27.441767]  __kasan_mempool_poison_object+0x131/0x1d0
[   27.442511]  mempool_free+0x2ec/0x380
[   27.443134]  mempool_uaf_helper+0x11b/0x400
[   27.444108]  mempool_slab_uaf+0xae/0x100
[   27.444995]  kunit_try_run_case+0x1b3/0x490
[   27.445511]  kunit_generic_run_threadfn_adapter+0x85/0xf0
[   27.446048]  kthread+0x257/0x310
[   27.446365]  ret_from_fork+0x41/0x80
[   27.446702]  ret_from_fork_asm+0x1a/0x30
[   27.448198] 
[   27.448468] The buggy address belongs to the object at ffff888102a1a240
[   27.448468]  which belongs to the cache test_cache of size 123
[   27.449790] The buggy address is located 0 bytes inside of
[   27.449790]  freed 123-byte region [ffff888102a1a240, ffff888102a1a2bb)
[   27.451681] 
[   27.452220] The buggy address belongs to the physical page:
[   27.452879] page: refcount:1 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x102a1a
[   27.454246] flags: 0x200000000000000(node=0|zone=2)
[   27.454738] page_type: f5(slab)
[   27.455067] raw: 0200000000000000 ffff888102a0e3c0 dead000000000122 0000000000000000
[   27.456854] raw: 0000000000000000 0000000080150015 00000001f5000000 0000000000000000
[   27.457703] page dumped because: kasan: bad access detected
[   27.459391] 
[   27.459611] Memory state around the buggy address:
[   27.460099]  ffff888102a1a100: fb fb fb fb fb fb fb fb fc fc fc fc fc fc fc fc
[   27.461022]  ffff888102a1a180: fa fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
[   27.461687] >ffff888102a1a200: fc fc fc fc fc fc fc fc fa fb fb fb fb fb fb fb
[   27.462407]                                            ^
[   27.463660]  ffff888102a1a280: fb fb fb fb fb fb fb fb fc fc fc fc fc fc fc fc
[   27.464284]  ffff888102a1a300: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
[   27.464959] ==================================================================
[   27.292630] ==================================================================
[   27.293879] BUG: KASAN: slab-use-after-free in mempool_uaf_helper+0x394/0x400
[   27.294216] Read of size 1 at addr ffff888101ab3f00 by task kunit_try_catch/235
[   27.295977] 
[   27.296157] CPU: 0 UID: 0 PID: 235 Comm: kunit_try_catch Tainted: G    B            N 6.12.0-next-20241122 #1
[   27.296920] Tainted: [B]=BAD_PAGE, [N]=TEST
[   27.297407] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2 04/01/2014
[   27.297957] Call Trace:
[   27.298250]  <TASK>
[   27.299052]  dump_stack_lvl+0x73/0xb0
[   27.299373]  print_report+0xd1/0x640
[   27.299777]  ? __virt_addr_valid+0x1db/0x2d0
[   27.300263]  ? kasan_complete_mode_report_info+0x64/0x200
[   27.301574]  kasan_report+0x102/0x140
[   27.301965]  ? mempool_uaf_helper+0x394/0x400
[   27.302802]  ? mempool_uaf_helper+0x394/0x400
[   27.303466]  __asan_report_load1_noabort+0x18/0x20
[   27.304145]  mempool_uaf_helper+0x394/0x400
[   27.304937]  ? __pfx_mempool_uaf_helper+0x10/0x10
[   27.305439]  ? update_load_avg+0x1c3/0x2110
[   27.305771]  ? update_curr+0x7d/0x5a0
[   27.306202]  ? update_curr+0x7d/0x5a0
[   27.306637]  ? finish_task_switch.isra.0+0x153/0x700
[   27.307096]  mempool_kmalloc_uaf+0xb3/0x100
[   27.308114]  ? __pfx_mempool_kmalloc_uaf+0x10/0x10
[   27.308694]  ? __switch_to+0x5d9/0xf60
[   27.309195]  ? __pfx_mempool_kmalloc+0x10/0x10
[   27.309996]  ? __pfx_mempool_kfree+0x10/0x10
[   27.310294]  ? __pfx_read_tsc+0x10/0x10
[   27.310705]  ? ktime_get_ts64+0x84/0x230
[   27.311123]  kunit_try_run_case+0x1b3/0x490
[   27.311498]  ? __pfx_kunit_try_run_case+0x10/0x10
[   27.311992]  ? _raw_spin_lock_irqsave+0xa2/0x110
[   27.312368]  ? _raw_spin_unlock_irqrestore+0x5f/0x90
[   27.313331]  ? __kthread_parkme+0x82/0x160
[   27.313650]  ? preempt_count_sub+0x50/0x80
[   27.314120]  ? __pfx_kunit_try_run_case+0x10/0x10
[   27.315123]  ? __pfx_kunit_generic_run_threadfn_adapter+0x10/0x10
[   27.315680]  kunit_generic_run_threadfn_adapter+0x85/0xf0
[   27.316142]  kthread+0x257/0x310
[   27.317028]  ? __pfx_kthread+0x10/0x10
[   27.317421]  ret_from_fork+0x41/0x80
[   27.317778]  ? __pfx_kthread+0x10/0x10
[   27.318158]  ret_from_fork_asm+0x1a/0x30
[   27.319070]  </TASK>
[   27.319664] 
[   27.319899] Allocated by task 235:
[   27.320261]  kasan_save_stack+0x3d/0x60
[   27.320663]  kasan_save_track+0x18/0x40
[   27.321100]  kasan_save_alloc_info+0x3b/0x50
[   27.322178]  __kasan_mempool_unpoison_object+0x1a9/0x200
[   27.322548]  remove_element+0x11e/0x190
[   27.322924]  mempool_alloc_preallocated+0x4d/0x90
[   27.323799]  mempool_uaf_helper+0x97/0x400
[   27.324603]  mempool_kmalloc_uaf+0xb3/0x100
[   27.325002]  kunit_try_run_case+0x1b3/0x490
[   27.325393]  kunit_generic_run_threadfn_adapter+0x85/0xf0
[   27.326021]  kthread+0x257/0x310
[   27.326275]  ret_from_fork+0x41/0x80
[   27.326671]  ret_from_fork_asm+0x1a/0x30
[   27.326979] 
[   27.327197] Freed by task 235:
[   27.327685]  kasan_save_stack+0x3d/0x60
[   27.328090]  kasan_save_track+0x18/0x40
[   27.328508]  kasan_save_free_info+0x3f/0x60
[   27.329081]  __kasan_mempool_poison_object+0x131/0x1d0
[   27.329485]  mempool_free+0x2ec/0x380
[   27.331011]  mempool_uaf_helper+0x11b/0x400
[   27.331582]  mempool_kmalloc_uaf+0xb3/0x100
[   27.331916]  kunit_try_run_case+0x1b3/0x490
[   27.332370]  kunit_generic_run_threadfn_adapter+0x85/0xf0
[   27.332886]  kthread+0x257/0x310
[   27.333870]  ret_from_fork+0x41/0x80
[   27.334287]  ret_from_fork_asm+0x1a/0x30
[   27.335116] 
[   27.335269] The buggy address belongs to the object at ffff888101ab3f00
[   27.335269]  which belongs to the cache kmalloc-128 of size 128
[   27.336744] The buggy address is located 0 bytes inside of
[   27.336744]  freed 128-byte region [ffff888101ab3f00, ffff888101ab3f80)
[   27.338129] 
[   27.338317] The buggy address belongs to the physical page:
[   27.338781] page: refcount:1 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x101ab3
[   27.339208] flags: 0x200000000000000(node=0|zone=2)
[   27.339969] page_type: f5(slab)
[   27.340348] raw: 0200000000000000 ffff888100041a00 dead000000000122 0000000000000000
[   27.341047] raw: 0000000000000000 0000000000100010 00000001f5000000 0000000000000000
[   27.341923] page dumped because: kasan: bad access detected
[   27.342693] 
[   27.342902] Memory state around the buggy address:
[   27.343291]  ffff888101ab3e00: fa fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
[   27.344131]  ffff888101ab3e80: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
[   27.344876] >ffff888101ab3f00: fa fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
[   27.345912]                    ^
[   27.346296]  ffff888101ab3f80: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
[   27.347495]  ffff888101ab4000: fa fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
[   27.348201] ==================================================================