Hay
Date
June 26, 2025, 11:12 a.m.

Environment
e850-96
qemu-arm64
qemu-x86_64

[   32.987014] ==================================================================
[   32.994135] BUG: KASAN: slab-use-after-free in workqueue_uaf+0x480/0x4a8
[   33.000814] Read of size 8 at addr ffff000800d63c40 by task kunit_try_catch/249
[   33.008105] 
[   33.009591] CPU: 0 UID: 0 PID: 249 Comm: kunit_try_catch Tainted: G    B            N  6.15.4-rc3 #1 PREEMPT 
[   33.009648] Tainted: [B]=BAD_PAGE, [N]=TEST
[   33.009666] Hardware name: WinLink E850-96 board (DT)
[   33.009689] Call trace:
[   33.009702]  show_stack+0x20/0x38 (C)
[   33.009736]  dump_stack_lvl+0x8c/0xd0
[   33.009776]  print_report+0x118/0x608
[   33.009807]  kasan_report+0xdc/0x128
[   33.009837]  __asan_report_load8_noabort+0x20/0x30
[   33.009873]  workqueue_uaf+0x480/0x4a8
[   33.009907]  kunit_try_run_case+0x170/0x3f0
[   33.009946]  kunit_generic_run_threadfn_adapter+0x88/0x100
[   33.009986]  kthread+0x328/0x630
[   33.010021]  ret_from_fork+0x10/0x20
[   33.010057] 
[   33.071995] Allocated by task 249:
[   33.075383]  kasan_save_stack+0x3c/0x68
[   33.079198]  kasan_save_track+0x20/0x40
[   33.083017]  kasan_save_alloc_info+0x40/0x58
[   33.087271]  __kasan_kmalloc+0xd4/0xd8
[   33.091003]  __kmalloc_cache_noprof+0x16c/0x3c0
[   33.095517]  workqueue_uaf+0x13c/0x4a8
[   33.099250]  kunit_try_run_case+0x170/0x3f0
[   33.103416]  kunit_generic_run_threadfn_adapter+0x88/0x100
[   33.108886]  kthread+0x328/0x630
[   33.112097]  ret_from_fork+0x10/0x20
[   33.115656] 
[   33.117132] Freed by task 87:
[   33.120085]  kasan_save_stack+0x3c/0x68
[   33.123902]  kasan_save_track+0x20/0x40
[   33.127721]  kasan_save_free_info+0x4c/0x78
[   33.131888]  __kasan_slab_free+0x6c/0x98
[   33.135794]  kfree+0x214/0x3c8
[   33.138832]  workqueue_uaf_work+0x18/0x30
[   33.142825]  process_one_work+0x530/0xf98
[   33.146818]  worker_thread+0x618/0xf38
[   33.150551]  kthread+0x328/0x630
[   33.153763]  ret_from_fork+0x10/0x20
[   33.157322] 
[   33.158799] Last potentially related work creation:
[   33.163658]  kasan_save_stack+0x3c/0x68
[   33.167478]  kasan_record_aux_stack+0xb4/0xc8
[   33.171819]  __queue_work+0x65c/0x1008
[   33.175551]  queue_work_on+0xbc/0xf8
[   33.179109]  workqueue_uaf+0x210/0x4a8
[   33.182842]  kunit_try_run_case+0x170/0x3f0
[   33.187009]  kunit_generic_run_threadfn_adapter+0x88/0x100
[   33.192477]  kthread+0x328/0x630
[   33.195689]  ret_from_fork+0x10/0x20
[   33.199248] 
[   33.200725] The buggy address belongs to the object at ffff000800d63c40
[   33.200725]  which belongs to the cache kmalloc-32 of size 32
[   33.213053] The buggy address is located 0 bytes inside of
[   33.213053]  freed 32-byte region [ffff000800d63c40, ffff000800d63c60)
[   33.225029] 
[   33.226509] The buggy address belongs to the physical page:
[   33.232066] page: refcount:0 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x880d63
[   33.240049] flags: 0xbfffe0000000000(node=0|zone=2|lastcpupid=0x1ffff)
[   33.246559] page_type: f5(slab)
[   33.249697] raw: 0bfffe0000000000 ffff000800002780 dead000000000122 0000000000000000
[   33.257414] raw: 0000000000000000 0000000080400040 00000000f5000000 0000000000000000
[   33.265134] page dumped because: kasan: bad access detected
[   33.270689] 
[   33.272165] Memory state around the buggy address:
[   33.276945]  ffff000800d63b00: fa fb fb fb fc fc fc fc fa fb fb fb fc fc fc fc
[   33.284146]  ffff000800d63b80: fa fb fb fb fc fc fc fc 00 00 00 fc fc fc fc fc
[   33.291351] >ffff000800d63c00: 00 00 00 07 fc fc fc fc fa fb fb fb fc fc fc fc
[   33.298552]                                            ^
[   33.303851]  ffff000800d63c80: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
[   33.311056]  ffff000800d63d00: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
[   33.318257] ==================================================================

[   18.549580] ==================================================================
[   18.549770] BUG: KASAN: slab-use-after-free in workqueue_uaf+0x480/0x4a8
[   18.550083] Read of size 8 at addr fff00000c797f680 by task kunit_try_catch/202
[   18.550220] 
[   18.550327] CPU: 0 UID: 0 PID: 202 Comm: kunit_try_catch Tainted: G    B            N  6.15.4-rc3 #1 PREEMPT 
[   18.550528] Tainted: [B]=BAD_PAGE, [N]=TEST
[   18.550606] Hardware name: linux,dummy-virt (DT)
[   18.550671] Call trace:
[   18.550729]  show_stack+0x20/0x38 (C)
[   18.550786]  dump_stack_lvl+0x8c/0xd0
[   18.550841]  print_report+0x118/0x608
[   18.550896]  kasan_report+0xdc/0x128
[   18.550942]  __asan_report_load8_noabort+0x20/0x30
[   18.550992]  workqueue_uaf+0x480/0x4a8
[   18.551038]  kunit_try_run_case+0x170/0x3f0
[   18.551543]  kunit_generic_run_threadfn_adapter+0x88/0x100
[   18.551621]  kthread+0x328/0x630
[   18.551990]  ret_from_fork+0x10/0x20
[   18.552400] 
[   18.552582] Allocated by task 202:
[   18.552682]  kasan_save_stack+0x3c/0x68
[   18.552729]  kasan_save_track+0x20/0x40
[   18.552765]  kasan_save_alloc_info+0x40/0x58
[   18.552836]  __kasan_kmalloc+0xd4/0xd8
[   18.552883]  __kmalloc_cache_noprof+0x16c/0x3c0
[   18.552923]  workqueue_uaf+0x13c/0x4a8
[   18.552962]  kunit_try_run_case+0x170/0x3f0
[   18.553000]  kunit_generic_run_threadfn_adapter+0x88/0x100
[   18.553046]  kthread+0x328/0x630
[   18.553081]  ret_from_fork+0x10/0x20
[   18.553117] 
[   18.553135] Freed by task 75:
[   18.553162]  kasan_save_stack+0x3c/0x68
[   18.553527]  kasan_save_track+0x20/0x40
[   18.553603]  kasan_save_free_info+0x4c/0x78
[   18.553747]  __kasan_slab_free+0x6c/0x98
[   18.553785]  kfree+0x214/0x3c8
[   18.554227]  workqueue_uaf_work+0x18/0x30
[   18.554293]  process_one_work+0x530/0xf98
[   18.554351]  worker_thread+0x618/0xf38
[   18.554405]  kthread+0x328/0x630
[   18.554440]  ret_from_fork+0x10/0x20
[   18.554478] 
[   18.554532] Last potentially related work creation:
[   18.554569]  kasan_save_stack+0x3c/0x68
[   18.554621]  kasan_record_aux_stack+0xb4/0xc8
[   18.554661]  __queue_work+0x65c/0x1008
[   18.554711]  queue_work_on+0xbc/0xf8
[   18.554768]  workqueue_uaf+0x210/0x4a8
[   18.554810]  kunit_try_run_case+0x170/0x3f0
[   18.554872]  kunit_generic_run_threadfn_adapter+0x88/0x100
[   18.554921]  kthread+0x328/0x630
[   18.554968]  ret_from_fork+0x10/0x20
[   18.555011] 
[   18.555056] The buggy address belongs to the object at fff00000c797f680
[   18.555056]  which belongs to the cache kmalloc-32 of size 32
[   18.555122] The buggy address is located 0 bytes inside of
[   18.555122]  freed 32-byte region [fff00000c797f680, fff00000c797f6a0)
[   18.555201] 
[   18.555223] The buggy address belongs to the physical page:
[   18.555260] page: refcount:0 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x10797f
[   18.555333] flags: 0xbfffe0000000000(node=0|zone=2|lastcpupid=0x1ffff)
[   18.555401] page_type: f5(slab)
[   18.555455] raw: 0bfffe0000000000 fff00000c0001780 dead000000000122 0000000000000000
[   18.555508] raw: 0000000000000000 0000000080400040 00000000f5000000 0000000000000000
[   18.555561] page dumped because: kasan: bad access detected
[   18.555602] 
[   18.555620] Memory state around the buggy address:
[   18.555658]  fff00000c797f580: 00 00 00 fc fc fc fc fc 00 00 07 fc fc fc fc fc
[   18.555705]  fff00000c797f600: 00 00 07 fc fc fc fc fc 00 00 00 07 fc fc fc fc
[   18.555751] >fff00000c797f680: fa fb fb fb fc fc fc fc 00 00 00 fc fc fc fc fc
[   18.555794]                    ^
[   18.555821]  fff00000c797f700: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
[   18.556640]  fff00000c797f780: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
[   18.556754] ==================================================================

[   11.530006] ==================================================================
[   11.530439] BUG: KASAN: slab-use-after-free in workqueue_uaf+0x4d6/0x560
[   11.530692] Read of size 8 at addr ffff888102f6b940 by task kunit_try_catch/219
[   11.531081] 
[   11.531179] CPU: 1 UID: 0 PID: 219 Comm: kunit_try_catch Tainted: G    B            N  6.15.4-rc3 #1 PREEMPT(voluntary) 
[   11.531228] Tainted: [B]=BAD_PAGE, [N]=TEST
[   11.531240] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2 04/01/2014
[   11.531261] Call Trace:
[   11.531275]  <TASK>
[   11.531294]  dump_stack_lvl+0x73/0xb0
[   11.531322]  print_report+0xd1/0x650
[   11.531345]  ? __virt_addr_valid+0x1db/0x2d0
[   11.531367]  ? workqueue_uaf+0x4d6/0x560
[   11.531388]  ? kasan_complete_mode_report_info+0x64/0x200
[   11.531411]  ? workqueue_uaf+0x4d6/0x560
[   11.531432]  kasan_report+0x141/0x180
[   11.531454]  ? workqueue_uaf+0x4d6/0x560
[   11.531480]  __asan_report_load8_noabort+0x18/0x20
[   11.531500]  workqueue_uaf+0x4d6/0x560
[   11.531522]  ? __pfx_workqueue_uaf+0x10/0x10
[   11.531544]  ? __schedule+0x10cc/0x2b60
[   11.531581]  ? __pfx_read_tsc+0x10/0x10
[   11.531601]  ? ktime_get_ts64+0x86/0x230
[   11.531627]  kunit_try_run_case+0x1a5/0x480
[   11.531652]  ? __pfx_kunit_try_run_case+0x10/0x10
[   11.531674]  ? _raw_spin_lock_irqsave+0xa1/0x100
[   11.531697]  ? _raw_spin_unlock_irqrestore+0x5f/0x90
[   11.531720]  ? __kthread_parkme+0x82/0x180
[   11.531742]  ? preempt_count_sub+0x50/0x80
[   11.531768]  ? __pfx_kunit_try_run_case+0x10/0x10
[   11.531792]  kunit_generic_run_threadfn_adapter+0x85/0xf0
[   11.531814]  ? __pfx_kunit_generic_run_threadfn_adapter+0x10/0x10
[   11.531837]  kthread+0x337/0x6f0
[   11.531853]  ? trace_preempt_on+0x20/0xc0
[   11.531876]  ? __pfx_kthread+0x10/0x10
[   11.531894]  ? _raw_spin_unlock_irq+0x47/0x80
[   11.531914]  ? calculate_sigpending+0x7b/0xa0
[   11.532002]  ? __pfx_kthread+0x10/0x10
[   11.532024]  ret_from_fork+0x41/0x80
[   11.532045]  ? __pfx_kthread+0x10/0x10
[   11.532063]  ret_from_fork_asm+0x1a/0x30
[   11.532094]  </TASK>
[   11.532106] 
[   11.544349] Allocated by task 219:
[   11.544535]  kasan_save_stack+0x45/0x70
[   11.544997]  kasan_save_track+0x18/0x40
[   11.545368]  kasan_save_alloc_info+0x3b/0x50
[   11.545837]  __kasan_kmalloc+0xb7/0xc0
[   11.546082]  __kmalloc_cache_noprof+0x189/0x420
[   11.546240]  workqueue_uaf+0x152/0x560
[   11.546373]  kunit_try_run_case+0x1a5/0x480
[   11.546522]  kunit_generic_run_threadfn_adapter+0x85/0xf0
[   11.546725]  kthread+0x337/0x6f0
[   11.546980]  ret_from_fork+0x41/0x80
[   11.547329]  ret_from_fork_asm+0x1a/0x30
[   11.547725] 
[   11.547935] Freed by task 48:
[   11.548400]  kasan_save_stack+0x45/0x70
[   11.548771]  kasan_save_track+0x18/0x40
[   11.548908]  kasan_save_free_info+0x3f/0x60
[   11.549063]  __kasan_slab_free+0x56/0x70
[   11.549198]  kfree+0x222/0x3f0
[   11.549311]  workqueue_uaf_work+0x12/0x20
[   11.549449]  process_one_work+0x5ee/0xf60
[   11.549587]  worker_thread+0x758/0x1220
[   11.549717]  kthread+0x337/0x6f0
[   11.549832]  ret_from_fork+0x41/0x80
[   11.550049]  ret_from_fork_asm+0x1a/0x30
[   11.550526] 
[   11.550792] Last potentially related work creation:
[   11.551232]  kasan_save_stack+0x45/0x70
[   11.551656]  kasan_record_aux_stack+0xb2/0xc0
[   11.552137]  __queue_work+0x626/0xeb0
[   11.552591]  queue_work_on+0xb6/0xc0
[   11.552999]  workqueue_uaf+0x26d/0x560
[   11.553359]  kunit_try_run_case+0x1a5/0x480
[   11.553982]  kunit_generic_run_threadfn_adapter+0x85/0xf0
[   11.554514]  kthread+0x337/0x6f0
[   11.554914]  ret_from_fork+0x41/0x80
[   11.555288]  ret_from_fork_asm+0x1a/0x30
[   11.555667] 
[   11.555905] The buggy address belongs to the object at ffff888102f6b940
[   11.555905]  which belongs to the cache kmalloc-32 of size 32
[   11.557081] The buggy address is located 0 bytes inside of
[   11.557081]  freed 32-byte region [ffff888102f6b940, ffff888102f6b960)
[   11.557826] 
[   11.558036] The buggy address belongs to the physical page:
[   11.558280] page: refcount:0 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x102f6b
[   11.558518] flags: 0x200000000000000(node=0|zone=2)
[   11.559215] page_type: f5(slab)
[   11.559559] raw: 0200000000000000 ffff888100041780 dead000000000122 0000000000000000
[   11.560412] raw: 0000000000000000 0000000080400040 00000000f5000000 0000000000000000
[   11.561255] page dumped because: kasan: bad access detected
[   11.561546] 
[   11.561731] Memory state around the buggy address:
[   11.562222]  ffff888102f6b800: fa fb fb fb fc fc fc fc fa fb fb fb fc fc fc fc
[   11.562677]  ffff888102f6b880: 00 00 07 fc fc fc fc fc 00 00 00 fc fc fc fc fc
[   11.563201] >ffff888102f6b900: 00 00 00 fc fc fc fc fc fa fb fb fb fc fc fc fc
[   11.563409]                                            ^
[   11.563574]  ffff888102f6b980: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
[   11.564003]  ffff888102f6ba00: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
[   11.564632] ==================================================================