Hay
Date
July 13, 2025, 11:09 p.m.

Environment
qemu-arm64
qemu-x86_64

[   16.371697] ==================================================================
[   16.371767] BUG: KASAN: slab-use-after-free in workqueue_uaf+0x480/0x4a8
[   16.371823] Read of size 8 at addr fff00000c654b900 by task kunit_try_catch/201
[   16.371872] 
[   16.371908] CPU: 0 UID: 0 PID: 201 Comm: kunit_try_catch Tainted: G    B            N  6.16.0-rc6 #1 PREEMPT 
[   16.371991] Tainted: [B]=BAD_PAGE, [N]=TEST
[   16.372016] Hardware name: linux,dummy-virt (DT)
[   16.372048] Call trace:
[   16.372276]  show_stack+0x20/0x38 (C)
[   16.372431]  dump_stack_lvl+0x8c/0xd0
[   16.372748]  print_report+0x118/0x5d0
[   16.373322]  kasan_report+0xdc/0x128
[   16.373381]  __asan_report_load8_noabort+0x20/0x30
[   16.373434]  workqueue_uaf+0x480/0x4a8
[   16.373477]  kunit_try_run_case+0x170/0x3f0
[   16.373525]  kunit_generic_run_threadfn_adapter+0x88/0x100
[   16.374304]  kthread+0x328/0x630
[   16.374570]  ret_from_fork+0x10/0x20
[   16.374924] 
[   16.374948] Allocated by task 201:
[   16.374977]  kasan_save_stack+0x3c/0x68
[   16.375444]  kasan_save_track+0x20/0x40
[   16.375775]  kasan_save_alloc_info+0x40/0x58
[   16.375823]  __kasan_kmalloc+0xd4/0xd8
[   16.375861]  __kmalloc_cache_noprof+0x16c/0x3c0
[   16.375902]  workqueue_uaf+0x13c/0x4a8
[   16.375939]  kunit_try_run_case+0x170/0x3f0
[   16.376361]  kunit_generic_run_threadfn_adapter+0x88/0x100
[   16.376622]  kthread+0x328/0x630
[   16.376665]  ret_from_fork+0x10/0x20
[   16.376811] 
[   16.376830] Freed by task 9:
[   16.377036]  kasan_save_stack+0x3c/0x68
[   16.377220]  kasan_save_track+0x20/0x40
[   16.377260]  kasan_save_free_info+0x4c/0x78
[   16.377301]  __kasan_slab_free+0x6c/0x98
[   16.377510]  kfree+0x214/0x3c8
[   16.377799]  workqueue_uaf_work+0x18/0x30
[   16.377846]  process_one_work+0x530/0xf98
[   16.378064]  worker_thread+0x618/0xf38
[   16.378103]  kthread+0x328/0x630
[   16.378137]  ret_from_fork+0x10/0x20
[   16.378521] 
[   16.378551] Last potentially related work creation:
[   16.378696]  kasan_save_stack+0x3c/0x68
[   16.379147]  kasan_record_aux_stack+0xb4/0xc8
[   16.379436]  __queue_work+0x65c/0x1008
[   16.379477]  queue_work_on+0xbc/0xf8
[   16.380042]  workqueue_uaf+0x210/0x4a8
[   16.380089]  kunit_try_run_case+0x170/0x3f0
[   16.380129]  kunit_generic_run_threadfn_adapter+0x88/0x100
[   16.380411]  kthread+0x328/0x630
[   16.380865]  ret_from_fork+0x10/0x20
[   16.380910] 
[   16.380931] The buggy address belongs to the object at fff00000c654b900
[   16.380931]  which belongs to the cache kmalloc-32 of size 32
[   16.381330] The buggy address is located 0 bytes inside of
[   16.381330]  freed 32-byte region [fff00000c654b900, fff00000c654b920)
[   16.381700] 
[   16.381827] The buggy address belongs to the physical page:
[   16.381989] page: refcount:0 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x10654b
[   16.382358] flags: 0xbfffe0000000000(node=0|zone=2|lastcpupid=0x1ffff)
[   16.382623] page_type: f5(slab)
[   16.382667] raw: 0bfffe0000000000 fff00000c0001780 dead000000000122 0000000000000000
[   16.382826] raw: 0000000000000000 0000000080400040 00000000f5000000 0000000000000000
[   16.383128] page dumped because: kasan: bad access detected
[   16.383319] 
[   16.383518] Memory state around the buggy address:
[   16.383558]  fff00000c654b800: 00 00 03 fc fc fc fc fc 00 00 07 fc fc fc fc fc
[   16.383610]  fff00000c654b880: 00 00 00 fc fc fc fc fc 00 00 00 07 fc fc fc fc
[   16.383652] >fff00000c654b900: fa fb fb fb fc fc fc fc 00 00 00 fc fc fc fc fc
[   16.383911]                    ^
[   16.383956]  fff00000c654b980: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
[   16.384607]  fff00000c654ba00: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
[   16.384652] ==================================================================

[   17.032907] ==================================================================
[   17.033088] BUG: KASAN: slab-use-after-free in workqueue_uaf+0x480/0x4a8
[   17.033195] Read of size 8 at addr fff00000c5ac9280 by task kunit_try_catch/201
[   17.033247] 
[   17.033283] CPU: 1 UID: 0 PID: 201 Comm: kunit_try_catch Tainted: G    B            N  6.16.0-rc6 #1 PREEMPT 
[   17.033506] Tainted: [B]=BAD_PAGE, [N]=TEST
[   17.033534] Hardware name: linux,dummy-virt (DT)
[   17.033567] Call trace:
[   17.033706]  show_stack+0x20/0x38 (C)
[   17.033891]  dump_stack_lvl+0x8c/0xd0
[   17.033949]  print_report+0x118/0x5d0
[   17.034000]  kasan_report+0xdc/0x128
[   17.034052]  __asan_report_load8_noabort+0x20/0x30
[   17.034219]  workqueue_uaf+0x480/0x4a8
[   17.034311]  kunit_try_run_case+0x170/0x3f0
[   17.034608]  kunit_generic_run_threadfn_adapter+0x88/0x100
[   17.034671]  kthread+0x328/0x630
[   17.034744]  ret_from_fork+0x10/0x20
[   17.034795] 
[   17.034813] Allocated by task 201:
[   17.034880]  kasan_save_stack+0x3c/0x68
[   17.035026]  kasan_save_track+0x20/0x40
[   17.035155]  kasan_save_alloc_info+0x40/0x58
[   17.035220]  __kasan_kmalloc+0xd4/0xd8
[   17.035261]  __kmalloc_cache_noprof+0x16c/0x3c0
[   17.035305]  workqueue_uaf+0x13c/0x4a8
[   17.035405]  kunit_try_run_case+0x170/0x3f0
[   17.035843]  kunit_generic_run_threadfn_adapter+0x88/0x100
[   17.035922]  kthread+0x328/0x630
[   17.036005]  ret_from_fork+0x10/0x20
[   17.036172] 
[   17.036316] Freed by task 48:
[   17.036347]  kasan_save_stack+0x3c/0x68
[   17.036412]  kasan_save_track+0x20/0x40
[   17.036458]  kasan_save_free_info+0x4c/0x78
[   17.036808]  __kasan_slab_free+0x6c/0x98
[   17.036955]  kfree+0x214/0x3c8
[   17.037051]  workqueue_uaf_work+0x18/0x30
[   17.037173]  process_one_work+0x530/0xf98
[   17.037221]  worker_thread+0x618/0xf38
[   17.037293]  kthread+0x328/0x630
[   17.037753]  ret_from_fork+0x10/0x20
[   17.037822] 
[   17.037923] Last potentially related work creation:
[   17.038021]  kasan_save_stack+0x3c/0x68
[   17.038079]  kasan_record_aux_stack+0xb4/0xc8
[   17.038428]  __queue_work+0x65c/0x1008
[   17.038582]  queue_work_on+0xbc/0xf8
[   17.038680]  workqueue_uaf+0x210/0x4a8
[   17.038774]  kunit_try_run_case+0x170/0x3f0
[   17.038881]  kunit_generic_run_threadfn_adapter+0x88/0x100
[   17.038928]  kthread+0x328/0x630
[   17.038961]  ret_from_fork+0x10/0x20
[   17.038999] 
[   17.039030] The buggy address belongs to the object at fff00000c5ac9280
[   17.039030]  which belongs to the cache kmalloc-32 of size 32
[   17.039094] The buggy address is located 0 bytes inside of
[   17.039094]  freed 32-byte region [fff00000c5ac9280, fff00000c5ac92a0)
[   17.039158] 
[   17.039195] The buggy address belongs to the physical page:
[   17.039240] page: refcount:0 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x105ac9
[   17.039311] flags: 0xbfffe0000000000(node=0|zone=2|lastcpupid=0x1ffff)
[   17.039367] page_type: f5(slab)
[   17.039413] raw: 0bfffe0000000000 fff00000c0001780 dead000000000122 0000000000000000
[   17.039640] raw: 0000000000000000 0000000080400040 00000000f5000000 0000000000000000
[   17.039914] page dumped because: kasan: bad access detected
[   17.039975] 
[   17.040087] Memory state around the buggy address:
[   17.040177]  fff00000c5ac9180: 00 00 03 fc fc fc fc fc 00 00 07 fc fc fc fc fc
[   17.040338]  fff00000c5ac9200: 00 00 00 fc fc fc fc fc 00 00 00 07 fc fc fc fc
[   17.040406] >fff00000c5ac9280: fa fb fb fb fc fc fc fc 00 00 00 fc fc fc fc fc
[   17.040445]                    ^
[   17.040718]  fff00000c5ac9300: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
[   17.040952]  fff00000c5ac9380: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
[   17.041089] ==================================================================

[   13.269938] ==================================================================
[   13.270495] BUG: KASAN: slab-use-after-free in workqueue_uaf+0x4d6/0x560
[   13.270729] Read of size 8 at addr ffff8881034327c0 by task kunit_try_catch/217
[   13.270953] 
[   13.271046] CPU: 1 UID: 0 PID: 217 Comm: kunit_try_catch Tainted: G    B            N  6.16.0-rc6 #1 PREEMPT(voluntary) 
[   13.271090] Tainted: [B]=BAD_PAGE, [N]=TEST
[   13.271101] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2 04/01/2014
[   13.271122] Call Trace:
[   13.271134]  <TASK>
[   13.271151]  dump_stack_lvl+0x73/0xb0
[   13.271181]  print_report+0xd1/0x610
[   13.271203]  ? __virt_addr_valid+0x1db/0x2d0
[   13.271226]  ? workqueue_uaf+0x4d6/0x560
[   13.271246]  ? kasan_complete_mode_report_info+0x64/0x200
[   13.271268]  ? workqueue_uaf+0x4d6/0x560
[   13.271290]  kasan_report+0x141/0x180
[   13.271310]  ? workqueue_uaf+0x4d6/0x560
[   13.271335]  __asan_report_load8_noabort+0x18/0x20
[   13.271358]  workqueue_uaf+0x4d6/0x560
[   13.271379]  ? __pfx_workqueue_uaf+0x10/0x10
[   13.271400]  ? __schedule+0x10cc/0x2b60
[   13.271422]  ? __pfx_read_tsc+0x10/0x10
[   13.271442]  ? ktime_get_ts64+0x86/0x230
[   13.271489]  kunit_try_run_case+0x1a5/0x480
[   13.271514]  ? __pfx_kunit_try_run_case+0x10/0x10
[   13.271535]  ? _raw_spin_lock_irqsave+0xa1/0x100
[   13.271558]  ? _raw_spin_unlock_irqrestore+0x5f/0x90
[   13.271580]  ? __kthread_parkme+0x82/0x180
[   13.271600]  ? preempt_count_sub+0x50/0x80
[   13.271623]  ? __pfx_kunit_try_run_case+0x10/0x10
[   13.271646]  kunit_generic_run_threadfn_adapter+0x85/0xf0
[   13.271668]  ? __pfx_kunit_generic_run_threadfn_adapter+0x10/0x10
[   13.271691]  kthread+0x337/0x6f0
[   13.271709]  ? trace_preempt_on+0x20/0xc0
[   13.271732]  ? __pfx_kthread+0x10/0x10
[   13.271751]  ? _raw_spin_unlock_irq+0x47/0x80
[   13.271771]  ? calculate_sigpending+0x7b/0xa0
[   13.271794]  ? __pfx_kthread+0x10/0x10
[   13.271814]  ret_from_fork+0x116/0x1d0
[   13.271832]  ? __pfx_kthread+0x10/0x10
[   13.271851]  ret_from_fork_asm+0x1a/0x30
[   13.271880]  </TASK>
[   13.271890] 
[   13.287297] Allocated by task 217:
[   13.287667]  kasan_save_stack+0x45/0x70
[   13.288156]  kasan_save_track+0x18/0x40
[   13.288602]  kasan_save_alloc_info+0x3b/0x50
[   13.289009]  __kasan_kmalloc+0xb7/0xc0
[   13.289240]  __kmalloc_cache_noprof+0x189/0x420
[   13.289403]  workqueue_uaf+0x152/0x560
[   13.289813]  kunit_try_run_case+0x1a5/0x480
[   13.290215]  kunit_generic_run_threadfn_adapter+0x85/0xf0
[   13.290794]  kthread+0x337/0x6f0
[   13.291121]  ret_from_fork+0x116/0x1d0
[   13.291540]  ret_from_fork_asm+0x1a/0x30
[   13.291991] 
[   13.292119] Freed by task 41:
[   13.292230]  kasan_save_stack+0x45/0x70
[   13.292372]  kasan_save_track+0x18/0x40
[   13.292558]  kasan_save_free_info+0x3f/0x60
[   13.292956]  __kasan_slab_free+0x56/0x70
[   13.293422]  kfree+0x222/0x3f0
[   13.293737]  workqueue_uaf_work+0x12/0x20
[   13.294167]  process_one_work+0x5ee/0xf60
[   13.294574]  worker_thread+0x758/0x1220
[   13.294994]  kthread+0x337/0x6f0
[   13.295370]  ret_from_fork+0x116/0x1d0
[   13.295816]  ret_from_fork_asm+0x1a/0x30
[   13.296207] 
[   13.296388] Last potentially related work creation:
[   13.296883]  kasan_save_stack+0x45/0x70
[   13.297313]  kasan_record_aux_stack+0xb2/0xc0
[   13.297574]  __queue_work+0x626/0xeb0
[   13.297751]  queue_work_on+0xb6/0xc0
[   13.297985]  workqueue_uaf+0x26d/0x560
[   13.298356]  kunit_try_run_case+0x1a5/0x480
[   13.298790]  kunit_generic_run_threadfn_adapter+0x85/0xf0
[   13.299005]  kthread+0x337/0x6f0
[   13.299336]  ret_from_fork+0x116/0x1d0
[   13.299742]  ret_from_fork_asm+0x1a/0x30
[   13.300144] 
[   13.300299] The buggy address belongs to the object at ffff8881034327c0
[   13.300299]  which belongs to the cache kmalloc-32 of size 32
[   13.301384] The buggy address is located 0 bytes inside of
[   13.301384]  freed 32-byte region [ffff8881034327c0, ffff8881034327e0)
[   13.302309] 
[   13.302387] The buggy address belongs to the physical page:
[   13.302965] page: refcount:0 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x103432
[   13.303760] flags: 0x200000000000000(node=0|zone=2)
[   13.304214] page_type: f5(slab)
[   13.304415] raw: 0200000000000000 ffff888100041780 dead000000000122 0000000000000000
[   13.305063] raw: 0000000000000000 0000000080400040 00000000f5000000 0000000000000000
[   13.305291] page dumped because: kasan: bad access detected
[   13.305563] 
[   13.305767] Memory state around the buggy address:
[   13.306247]  ffff888103432680: fa fb fb fb fc fc fc fc fa fb fb fb fc fc fc fc
[   13.306999]  ffff888103432700: fa fb fb fb fc fc fc fc 00 00 00 fc fc fc fc fc
[   13.307652] >ffff888103432780: 00 00 00 fc fc fc fc fc fa fb fb fb fc fc fc fc
[   13.308272]                                            ^
[   13.308854]  ffff888103432800: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
[   13.309370]  ffff888103432880: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
[   13.310085] ==================================================================

[   13.466547] ==================================================================
[   13.466991] BUG: KASAN: slab-use-after-free in workqueue_uaf+0x4d6/0x560
[   13.467685] Read of size 8 at addr ffff8881025a2000 by task kunit_try_catch/218
[   13.468082] 
[   13.468189] CPU: 0 UID: 0 PID: 218 Comm: kunit_try_catch Tainted: G    B            N  6.16.0-rc6 #1 PREEMPT(voluntary) 
[   13.468233] Tainted: [B]=BAD_PAGE, [N]=TEST
[   13.468245] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2 04/01/2014
[   13.468267] Call Trace:
[   13.468290]  <TASK>
[   13.468305]  dump_stack_lvl+0x73/0xb0
[   13.468337]  print_report+0xd1/0x610
[   13.468372]  ? __virt_addr_valid+0x1db/0x2d0
[   13.468396]  ? workqueue_uaf+0x4d6/0x560
[   13.468417]  ? kasan_complete_mode_report_info+0x64/0x200
[   13.468441]  ? workqueue_uaf+0x4d6/0x560
[   13.468464]  kasan_report+0x141/0x180
[   13.468495]  ? workqueue_uaf+0x4d6/0x560
[   13.468522]  __asan_report_load8_noabort+0x18/0x20
[   13.468547]  workqueue_uaf+0x4d6/0x560
[   13.468580]  ? __pfx_workqueue_uaf+0x10/0x10
[   13.468603]  ? __schedule+0x10cc/0x2b60
[   13.468626]  ? __pfx_read_tsc+0x10/0x10
[   13.468647]  ? ktime_get_ts64+0x86/0x230
[   13.468674]  kunit_try_run_case+0x1a5/0x480
[   13.468756]  ? __pfx_kunit_try_run_case+0x10/0x10
[   13.468783]  ? _raw_spin_lock_irqsave+0xa1/0x100
[   13.468808]  ? _raw_spin_unlock_irqrestore+0x5f/0x90
[   13.468832]  ? __kthread_parkme+0x82/0x180
[   13.468854]  ? preempt_count_sub+0x50/0x80
[   13.468879]  ? __pfx_kunit_try_run_case+0x10/0x10
[   13.468904]  kunit_generic_run_threadfn_adapter+0x85/0xf0
[   13.468929]  ? __pfx_kunit_generic_run_threadfn_adapter+0x10/0x10
[   13.468954]  kthread+0x337/0x6f0
[   13.468973]  ? trace_preempt_on+0x20/0xc0
[   13.468998]  ? __pfx_kthread+0x10/0x10
[   13.469019]  ? _raw_spin_unlock_irq+0x47/0x80
[   13.469041]  ? calculate_sigpending+0x7b/0xa0
[   13.469077]  ? __pfx_kthread+0x10/0x10
[   13.469098]  ret_from_fork+0x116/0x1d0
[   13.469126]  ? __pfx_kthread+0x10/0x10
[   13.469147]  ret_from_fork_asm+0x1a/0x30
[   13.469178]  </TASK>
[   13.469188] 
[   13.477475] Allocated by task 218:
[   13.477611]  kasan_save_stack+0x45/0x70
[   13.478089]  kasan_save_track+0x18/0x40
[   13.478255]  kasan_save_alloc_info+0x3b/0x50
[   13.478407]  __kasan_kmalloc+0xb7/0xc0
[   13.478568]  __kmalloc_cache_noprof+0x189/0x420
[   13.479043]  workqueue_uaf+0x152/0x560
[   13.479436]  kunit_try_run_case+0x1a5/0x480
[   13.479638]  kunit_generic_run_threadfn_adapter+0x85/0xf0
[   13.479859]  kthread+0x337/0x6f0
[   13.480029]  ret_from_fork+0x116/0x1d0
[   13.480318]  ret_from_fork_asm+0x1a/0x30
[   13.480482] 
[   13.480605] Freed by task 9:
[   13.480789]  kasan_save_stack+0x45/0x70
[   13.481002]  kasan_save_track+0x18/0x40
[   13.481291]  kasan_save_free_info+0x3f/0x60
[   13.481508]  __kasan_slab_free+0x56/0x70
[   13.481718]  kfree+0x222/0x3f0
[   13.482000]  workqueue_uaf_work+0x12/0x20
[   13.482184]  process_one_work+0x5ee/0xf60
[   13.482464]  worker_thread+0x758/0x1220
[   13.482613]  kthread+0x337/0x6f0
[   13.482738]  ret_from_fork+0x116/0x1d0
[   13.482887]  ret_from_fork_asm+0x1a/0x30
[   13.483195] 
[   13.483293] Last potentially related work creation:
[   13.483631]  kasan_save_stack+0x45/0x70
[   13.484011]  kasan_record_aux_stack+0xb2/0xc0
[   13.484351]  __queue_work+0x626/0xeb0
[   13.484528]  queue_work_on+0xb6/0xc0
[   13.484737]  workqueue_uaf+0x26d/0x560
[   13.484976]  kunit_try_run_case+0x1a5/0x480
[   13.485214]  kunit_generic_run_threadfn_adapter+0x85/0xf0
[   13.485424]  kthread+0x337/0x6f0
[   13.485617]  ret_from_fork+0x116/0x1d0
[   13.485950]  ret_from_fork_asm+0x1a/0x30
[   13.486222] 
[   13.486321] The buggy address belongs to the object at ffff8881025a2000
[   13.486321]  which belongs to the cache kmalloc-32 of size 32
[   13.486918] The buggy address is located 0 bytes inside of
[   13.486918]  freed 32-byte region [ffff8881025a2000, ffff8881025a2020)
[   13.487312] 
[   13.487426] The buggy address belongs to the physical page:
[   13.487692] page: refcount:0 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x1025a2
[   13.487998] flags: 0x200000000000000(node=0|zone=2)
[   13.488605] page_type: f5(slab)
[   13.488839] raw: 0200000000000000 ffff888100041780 dead000000000122 0000000000000000
[   13.489222] raw: 0000000000000000 0000000080400040 00000000f5000000 0000000000000000
[   13.489484] page dumped because: kasan: bad access detected
[   13.489870] 
[   13.489973] Memory state around the buggy address:
[   13.490315]  ffff8881025a1f00: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
[   13.490534]  ffff8881025a1f80: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
[   13.491027] >ffff8881025a2000: fa fb fb fb fc fc fc fc fc fc fc fc fc fc fc fc
[   13.491388]                    ^
[   13.491537]  ffff8881025a2080: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
[   13.491887]  ffff8881025a2100: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
[   13.492314] ==================================================================