Hay
Date
Dec. 5, 2024, 2:07 p.m.

Environment
qemu-arm64
qemu-x86_64

[   32.485870] ==================================================================
[   32.487035] BUG: KASAN: slab-use-after-free in mempool_uaf_helper+0x314/0x340
[   32.488136] Read of size 1 at addr fff00000c63b8240 by task kunit_try_catch/220
[   32.489046] 
[   32.489431] CPU: 0 UID: 0 PID: 220 Comm: kunit_try_catch Tainted: G    B            N 6.13.0-rc1-next-20241205 #1
[   32.490739] Tainted: [B]=BAD_PAGE, [N]=TEST
[   32.491335] Hardware name: linux,dummy-virt (DT)
[   32.492797] Call trace:
[   32.493221]  show_stack+0x20/0x38 (C)
[   32.493716]  dump_stack_lvl+0x8c/0xd0
[   32.494317]  print_report+0x118/0x5e0
[   32.494944]  kasan_report+0xc8/0x118
[   32.495704]  __asan_report_load1_noabort+0x20/0x30
[   32.496740]  mempool_uaf_helper+0x314/0x340
[   32.497417]  mempool_slab_uaf+0xb8/0x110
[   32.497923]  kunit_try_run_case+0x14c/0x3d0
[   32.498618]  kunit_generic_run_threadfn_adapter+0x88/0x100
[   32.499302]  kthread+0x24c/0x2d0
[   32.499798]  ret_from_fork+0x10/0x20
[   32.500259] 
[   32.500514] Allocated by task 220:
[   32.500971]  kasan_save_stack+0x3c/0x68
[   32.501823]  kasan_save_track+0x20/0x40
[   32.502657]  kasan_save_alloc_info+0x40/0x58
[   32.503362]  __kasan_mempool_unpoison_object+0xbc/0x180
[   32.504239]  remove_element+0x16c/0x1f8
[   32.504702]  mempool_alloc_preallocated+0x58/0xc0
[   32.505380]  mempool_uaf_helper+0xa4/0x340
[   32.505976]  mempool_slab_uaf+0xb8/0x110
[   32.506633]  kunit_try_run_case+0x14c/0x3d0
[   32.507611]  kunit_generic_run_threadfn_adapter+0x88/0x100
[   32.508809]  kthread+0x24c/0x2d0
[   32.509536]  ret_from_fork+0x10/0x20
[   32.510360] 
[   32.510688] Freed by task 220:
[   32.511134]  kasan_save_stack+0x3c/0x68
[   32.512404]  kasan_save_track+0x20/0x40
[   32.512999]  kasan_save_free_info+0x4c/0x78
[   32.513510]  __kasan_mempool_poison_object+0xc0/0x150
[   32.514293]  mempool_free+0x28c/0x328
[   32.514919]  mempool_uaf_helper+0x104/0x340
[   32.515659]  mempool_slab_uaf+0xb8/0x110
[   32.516314]  kunit_try_run_case+0x14c/0x3d0
[   32.516930]  kunit_generic_run_threadfn_adapter+0x88/0x100
[   32.517635]  kthread+0x24c/0x2d0
[   32.518859]  ret_from_fork+0x10/0x20
[   32.519767] 
[   32.520036] The buggy address belongs to the object at fff00000c63b8240
[   32.520036]  which belongs to the cache test_cache of size 123
[   32.521455] The buggy address is located 0 bytes inside of
[   32.521455]  freed 123-byte region [fff00000c63b8240, fff00000c63b82bb)
[   32.522775] 
[   32.523080] The buggy address belongs to the physical page:
[   32.524618] page: refcount:0 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x1063b8
[   32.525563] flags: 0xbfffe0000000000(node=0|zone=2|lastcpupid=0x1ffff)
[   32.526545] page_type: f5(slab)
[   32.527093] raw: 0bfffe0000000000 fff00000c63a83c0 dead000000000122 0000000000000000
[   32.528446] raw: 0000000000000000 0000000080150015 00000000f5000000 0000000000000000
[   32.529298] page dumped because: kasan: bad access detected
[   32.529948] 
[   32.530252] Memory state around the buggy address:
[   32.531068]  fff00000c63b8100: fb fb fb fb fb fb fb fb fc fc fc fc fc fc fc fc
[   32.532322]  fff00000c63b8180: fa fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
[   32.533831] >fff00000c63b8200: fc fc fc fc fc fc fc fc fa fb fb fb fb fb fb fb
[   32.534864]                                            ^
[   32.535981]  fff00000c63b8280: fb fb fb fb fb fb fb fb fc fc fc fc fc fc fc fc
[   32.536807]  fff00000c63b8300: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
[   32.537603] ==================================================================
[   32.378336] ==================================================================
[   32.380178] BUG: KASAN: slab-use-after-free in mempool_uaf_helper+0x314/0x340
[   32.381101] Read of size 1 at addr fff00000c64e4d00 by task kunit_try_catch/216
[   32.381944] 
[   32.382388] CPU: 0 UID: 0 PID: 216 Comm: kunit_try_catch Tainted: G    B            N 6.13.0-rc1-next-20241205 #1
[   32.383981] Tainted: [B]=BAD_PAGE, [N]=TEST
[   32.384315] Hardware name: linux,dummy-virt (DT)
[   32.384616] Call trace:
[   32.384824]  show_stack+0x20/0x38 (C)
[   32.385305]  dump_stack_lvl+0x8c/0xd0
[   32.385988]  print_report+0x118/0x5e0
[   32.386631]  kasan_report+0xc8/0x118
[   32.387117]  __asan_report_load1_noabort+0x20/0x30
[   32.387663]  mempool_uaf_helper+0x314/0x340
[   32.388562]  mempool_kmalloc_uaf+0xbc/0x118
[   32.389294]  kunit_try_run_case+0x14c/0x3d0
[   32.390222]  kunit_generic_run_threadfn_adapter+0x88/0x100
[   32.390894]  kthread+0x24c/0x2d0
[   32.391869]  ret_from_fork+0x10/0x20
[   32.393271] 
[   32.393775] Allocated by task 216:
[   32.394249]  kasan_save_stack+0x3c/0x68
[   32.395044]  kasan_save_track+0x20/0x40
[   32.396114]  kasan_save_alloc_info+0x40/0x58
[   32.396732]  __kasan_mempool_unpoison_object+0x11c/0x180
[   32.397528]  remove_element+0x130/0x1f8
[   32.398185]  mempool_alloc_preallocated+0x58/0xc0
[   32.398937]  mempool_uaf_helper+0xa4/0x340
[   32.399666]  mempool_kmalloc_uaf+0xbc/0x118
[   32.400474]  kunit_try_run_case+0x14c/0x3d0
[   32.401107]  kunit_generic_run_threadfn_adapter+0x88/0x100
[   32.401805]  kthread+0x24c/0x2d0
[   32.402391]  ret_from_fork+0x10/0x20
[   32.402960] 
[   32.403315] Freed by task 216:
[   32.403843]  kasan_save_stack+0x3c/0x68
[   32.404319]  kasan_save_track+0x20/0x40
[   32.405069]  kasan_save_free_info+0x4c/0x78
[   32.405691]  __kasan_mempool_poison_object+0xc0/0x150
[   32.406713]  mempool_free+0x28c/0x328
[   32.407569]  mempool_uaf_helper+0x104/0x340
[   32.408271]  mempool_kmalloc_uaf+0xbc/0x118
[   32.408831]  kunit_try_run_case+0x14c/0x3d0
[   32.409474]  kunit_generic_run_threadfn_adapter+0x88/0x100
[   32.410299]  kthread+0x24c/0x2d0
[   32.410822]  ret_from_fork+0x10/0x20
[   32.411783] 
[   32.412103] The buggy address belongs to the object at fff00000c64e4d00
[   32.412103]  which belongs to the cache kmalloc-128 of size 128
[   32.413398] The buggy address is located 0 bytes inside of
[   32.413398]  freed 128-byte region [fff00000c64e4d00, fff00000c64e4d80)
[   32.414725] 
[   32.415100] The buggy address belongs to the physical page:
[   32.416212] page: refcount:0 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x1064e4
[   32.417138] flags: 0xbfffe0000000000(node=0|zone=2|lastcpupid=0x1ffff)
[   32.417978] page_type: f5(slab)
[   32.418488] raw: 0bfffe0000000000 fff00000c0001a00 dead000000000122 0000000000000000
[   32.420037] raw: 0000000000000000 0000000080100010 00000000f5000000 0000000000000000
[   32.421000] page dumped because: kasan: bad access detected
[   32.421631] 
[   32.421939] Memory state around the buggy address:
[   32.422668]  fff00000c64e4c00: fa fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
[   32.424026]  fff00000c64e4c80: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
[   32.424925] >fff00000c64e4d00: fa fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
[   32.425833]                    ^
[   32.426282]  fff00000c64e4d80: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
[   32.427518]  fff00000c64e4e00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[   32.428401] ==================================================================

[   30.266943] ==================================================================
[   30.267971] BUG: KASAN: slab-use-after-free in mempool_uaf_helper+0x394/0x400
[   30.268580] Read of size 1 at addr ffff888101ac4240 by task kunit_try_catch/238
[   30.269350] 
[   30.269554] CPU: 0 UID: 0 PID: 238 Comm: kunit_try_catch Tainted: G    B            N 6.13.0-rc1-next-20241205 #1
[   30.270478] Tainted: [B]=BAD_PAGE, [N]=TEST
[   30.270931] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2 04/01/2014
[   30.272123] Call Trace:
[   30.272436]  <TASK>
[   30.272704]  dump_stack_lvl+0x73/0xb0
[   30.273586]  print_report+0xd1/0x640
[   30.273984]  ? __virt_addr_valid+0x1db/0x2d0
[   30.274558]  ? kasan_complete_mode_report_info+0x64/0x200
[   30.275084]  kasan_report+0x102/0x140
[   30.275501]  ? mempool_uaf_helper+0x394/0x400
[   30.275886]  ? mempool_uaf_helper+0x394/0x400
[   30.276363]  __asan_report_load1_noabort+0x18/0x20
[   30.277123]  mempool_uaf_helper+0x394/0x400
[   30.277581]  ? __pfx_mempool_uaf_helper+0x10/0x10
[   30.278166]  ? irqentry_exit+0x2a/0x60
[   30.278643]  ? sysvec_apic_timer_interrupt+0x50/0x90
[   30.279473]  mempool_slab_uaf+0xae/0x100
[   30.280117]  ? __pfx_mempool_slab_uaf+0x10/0x10
[   30.280706]  ? __pfx_mempool_alloc_slab+0x10/0x10
[   30.281509]  ? __pfx_mempool_free_slab+0x10/0x10
[   30.281931]  ? __pfx_mempool_slab_uaf+0x10/0x10
[   30.282622]  kunit_try_run_case+0x1b3/0x490
[   30.283223]  ? __pfx_kunit_try_run_case+0x10/0x10
[   30.283795]  ? _raw_spin_lock_irqsave+0xa2/0x110
[   30.284517]  ? _raw_spin_unlock_irqrestore+0x5f/0x90
[   30.285260]  ? __kthread_parkme+0x82/0x160
[   30.285643]  ? preempt_count_sub+0x50/0x80
[   30.286259]  ? __pfx_kunit_try_run_case+0x10/0x10
[   30.286748]  ? __pfx_kunit_generic_run_threadfn_adapter+0x10/0x10
[   30.287238]  kunit_generic_run_threadfn_adapter+0x85/0xf0
[   30.287933]  kthread+0x257/0x310
[   30.288450]  ? __pfx_kthread+0x10/0x10
[   30.288807]  ret_from_fork+0x41/0x80
[   30.289528]  ? __pfx_kthread+0x10/0x10
[   30.289954]  ret_from_fork_asm+0x1a/0x30
[   30.290472]  </TASK>
[   30.290720] 
[   30.290943] Allocated by task 238:
[   30.291333]  kasan_save_stack+0x3d/0x60
[   30.291915]  kasan_save_track+0x18/0x40
[   30.292321]  kasan_save_alloc_info+0x3b/0x50
[   30.292839]  __kasan_mempool_unpoison_object+0x1bb/0x200
[   30.293587]  remove_element+0x11e/0x190
[   30.294215]  mempool_alloc_preallocated+0x4d/0x90
[   30.294649]  mempool_uaf_helper+0x97/0x400
[   30.295451]  mempool_slab_uaf+0xae/0x100
[   30.295986]  kunit_try_run_case+0x1b3/0x490
[   30.296597]  kunit_generic_run_threadfn_adapter+0x85/0xf0
[   30.297223]  kthread+0x257/0x310
[   30.297631]  ret_from_fork+0x41/0x80
[   30.298141]  ret_from_fork_asm+0x1a/0x30
[   30.298477] 
[   30.298857] Freed by task 238:
[   30.299239]  kasan_save_stack+0x3d/0x60
[   30.299676]  kasan_save_track+0x18/0x40
[   30.300360]  kasan_save_free_info+0x3f/0x60
[   30.300886]  __kasan_mempool_poison_object+0x131/0x1d0
[   30.301473]  mempool_free+0x2ec/0x380
[   30.301968]  mempool_uaf_helper+0x11b/0x400
[   30.302308]  mempool_slab_uaf+0xae/0x100
[   30.302825]  kunit_try_run_case+0x1b3/0x490
[   30.303331]  kunit_generic_run_threadfn_adapter+0x85/0xf0
[   30.303936]  kthread+0x257/0x310
[   30.304367]  ret_from_fork+0x41/0x80
[   30.304648]  ret_from_fork_asm+0x1a/0x30
[   30.305288] 
[   30.305551] The buggy address belongs to the object at ffff888101ac4240
[   30.305551]  which belongs to the cache test_cache of size 123
[   30.306766] The buggy address is located 0 bytes inside of
[   30.306766]  freed 123-byte region [ffff888101ac4240, ffff888101ac42bb)
[   30.307741] 
[   30.307964] The buggy address belongs to the physical page:
[   30.308663] page: refcount:0 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x101ac4
[   30.309547] flags: 0x200000000000000(node=0|zone=2)
[   30.310086] page_type: f5(slab)
[   30.310351] raw: 0200000000000000 ffff888101abe280 dead000000000122 0000000000000000
[   30.311523] raw: 0000000000000000 0000000080150015 00000000f5000000 0000000000000000
[   30.313028] page dumped because: kasan: bad access detected
[   30.313646] 
[   30.313785] Memory state around the buggy address:
[   30.314658]  ffff888101ac4100: fb fb fb fb fb fb fb fb fc fc fc fc fc fc fc fc
[   30.315978]  ffff888101ac4180: fa fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
[   30.316928] >ffff888101ac4200: fc fc fc fc fc fc fc fc fa fb fb fb fb fb fb fb
[   30.318116]                                            ^
[   30.318521]  ffff888101ac4280: fb fb fb fb fb fb fb fb fc fc fc fc fc fc fc fc
[   30.319552]  ffff888101ac4300: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
[   30.320755] ==================================================================
[   30.142458] ==================================================================
[   30.144126] BUG: KASAN: slab-use-after-free in mempool_uaf_helper+0x394/0x400
[   30.145588] Read of size 1 at addr ffff888102a0ca00 by task kunit_try_catch/234
[   30.146380] 
[   30.146613] CPU: 1 UID: 0 PID: 234 Comm: kunit_try_catch Tainted: G    B            N 6.13.0-rc1-next-20241205 #1
[   30.147639] Tainted: [B]=BAD_PAGE, [N]=TEST
[   30.148279] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2 04/01/2014
[   30.149213] Call Trace:
[   30.149517]  <TASK>
[   30.149764]  dump_stack_lvl+0x73/0xb0
[   30.150437]  print_report+0xd1/0x640
[   30.151357]  ? __virt_addr_valid+0x1db/0x2d0
[   30.151722]  ? kasan_complete_mode_report_info+0x64/0x200
[   30.152930]  kasan_report+0x102/0x140
[   30.153443]  ? mempool_uaf_helper+0x394/0x400
[   30.153930]  ? mempool_uaf_helper+0x394/0x400
[   30.154925]  __asan_report_load1_noabort+0x18/0x20
[   30.155606]  mempool_uaf_helper+0x394/0x400
[   30.156277]  ? __pfx_mempool_uaf_helper+0x10/0x10
[   30.156502]  ? ret_from_fork+0x41/0x80
[   30.156722]  ? kthread+0x257/0x310
[   30.157017]  ? ret_from_fork_asm+0x1a/0x30
[   30.158460]  ? ret_from_fork_asm+0x1a/0x30
[   30.159202]  mempool_kmalloc_uaf+0xb3/0x100
[   30.159876]  ? __pfx_mempool_kmalloc_uaf+0x10/0x10
[   30.160612]  ? __switch_to+0x5d9/0xf60
[   30.161366]  ? __pfx_mempool_kmalloc+0x10/0x10
[   30.161849]  ? __pfx_mempool_kfree+0x10/0x10
[   30.162694]  ? __pfx_read_tsc+0x10/0x10
[   30.164027]  ? ktime_get_ts64+0x86/0x230
[   30.164493]  kunit_try_run_case+0x1b3/0x490
[   30.165739]  ? __pfx_kunit_try_run_case+0x10/0x10
[   30.166630]  ? _raw_spin_lock_irqsave+0xa2/0x110
[   30.167233]  ? _raw_spin_unlock_irqrestore+0x5f/0x90
[   30.167947]  ? __kthread_parkme+0x82/0x160
[   30.168581]  ? preempt_count_sub+0x50/0x80
[   30.169305]  ? __pfx_kunit_try_run_case+0x10/0x10
[   30.169529]  ? __pfx_kunit_generic_run_threadfn_adapter+0x10/0x10
[   30.170217]  kunit_generic_run_threadfn_adapter+0x85/0xf0
[   30.171378]  kthread+0x257/0x310
[   30.171796]  ? __pfx_kthread+0x10/0x10
[   30.172253]  ret_from_fork+0x41/0x80
[   30.172608]  ? __pfx_kthread+0x10/0x10
[   30.173076]  ret_from_fork_asm+0x1a/0x30
[   30.173468]  </TASK>
[   30.174415] 
[   30.174585] Allocated by task 234:
[   30.174888]  kasan_save_stack+0x3d/0x60
[   30.175934]  kasan_save_track+0x18/0x40
[   30.176763]  kasan_save_alloc_info+0x3b/0x50
[   30.177037]  __kasan_mempool_unpoison_object+0x1a9/0x200
[   30.178165]  remove_element+0x11e/0x190
[   30.179030]  mempool_alloc_preallocated+0x4d/0x90
[   30.180009]  mempool_uaf_helper+0x97/0x400
[   30.180503]  mempool_kmalloc_uaf+0xb3/0x100
[   30.181449]  kunit_try_run_case+0x1b3/0x490
[   30.181851]  kunit_generic_run_threadfn_adapter+0x85/0xf0
[   30.182503]  kthread+0x257/0x310
[   30.182816]  ret_from_fork+0x41/0x80
[   30.183283]  ret_from_fork_asm+0x1a/0x30
[   30.183666] 
[   30.184867] Freed by task 234:
[   30.185191]  kasan_save_stack+0x3d/0x60
[   30.186167]  kasan_save_track+0x18/0x40
[   30.186814]  kasan_save_free_info+0x3f/0x60
[   30.187743]  __kasan_mempool_poison_object+0x131/0x1d0
[   30.188446]  mempool_free+0x2ec/0x380
[   30.189208]  mempool_uaf_helper+0x11b/0x400
[   30.189947]  mempool_kmalloc_uaf+0xb3/0x100
[   30.190441]  kunit_try_run_case+0x1b3/0x490
[   30.190855]  kunit_generic_run_threadfn_adapter+0x85/0xf0
[   30.192300]  kthread+0x257/0x310
[   30.192648]  ret_from_fork+0x41/0x80
[   30.193452]  ret_from_fork_asm+0x1a/0x30
[   30.194433] 
[   30.194665] The buggy address belongs to the object at ffff888102a0ca00
[   30.194665]  which belongs to the cache kmalloc-128 of size 128
[   30.196220] The buggy address is located 0 bytes inside of
[   30.196220]  freed 128-byte region [ffff888102a0ca00, ffff888102a0ca80)
[   30.197740] 
[   30.197959] The buggy address belongs to the physical page:
[   30.198818] page: refcount:0 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x102a0c
[   30.200140] flags: 0x200000000000000(node=0|zone=2)
[   30.201410] page_type: f5(slab)
[   30.201762] raw: 0200000000000000 ffff888100041a00 dead000000000122 0000000000000000
[   30.202618] raw: 0000000000000000 0000000080100010 00000000f5000000 0000000000000000
[   30.203763] page dumped because: kasan: bad access detected
[   30.204646] 
[   30.204805] Memory state around the buggy address:
[   30.205881]  ffff888102a0c900: fa fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
[   30.207092]  ffff888102a0c980: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
[   30.207731] >ffff888102a0ca00: fa fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
[   30.208859]                    ^
[   30.209224]  ffff888102a0ca80: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
[   30.209836]  ffff888102a0cb00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[   30.211302] ==================================================================