Hay
Date
July 11, 2025, 10:11 a.m.

Environment
e850-96
qemu-arm64
qemu-x86_64

[   50.115917] ==================================================================
[   50.123322] BUG: KASAN: slab-use-after-free in workqueue_uaf+0x480/0x4a8
[   50.130001] Read of size 8 at addr ffff0008084f7700 by task kunit_try_catch/284
[   50.137292] 
[   50.138778] CPU: 7 UID: 0 PID: 284 Comm: kunit_try_catch Tainted: G    B            N  6.16.0-rc5-next-20250711 #1 PREEMPT 
[   50.138836] Tainted: [B]=BAD_PAGE, [N]=TEST
[   50.138851] Hardware name: WinLink E850-96 board (DT)
[   50.138875] Call trace:
[   50.138889]  show_stack+0x20/0x38 (C)
[   50.138924]  dump_stack_lvl+0x8c/0xd0
[   50.138958]  print_report+0x118/0x5d0
[   50.138985]  kasan_report+0xdc/0x128
[   50.139014]  __asan_report_load8_noabort+0x20/0x30
[   50.139047]  workqueue_uaf+0x480/0x4a8
[   50.139079]  kunit_try_run_case+0x170/0x3f0
[   50.139117]  kunit_generic_run_threadfn_adapter+0x88/0x100
[   50.139148]  kthread+0x328/0x630
[   50.139180]  ret_from_fork+0x10/0x20
[   50.139216] 
[   50.202395] Allocated by task 284:
[   50.205783]  kasan_save_stack+0x3c/0x68
[   50.209598]  kasan_save_track+0x20/0x40
[   50.213419]  kasan_save_alloc_info+0x40/0x58
[   50.217671]  __kasan_kmalloc+0xd4/0xd8
[   50.221403]  __kmalloc_cache_noprof+0x16c/0x3c0
[   50.225917]  workqueue_uaf+0x13c/0x4a8
[   50.229650]  kunit_try_run_case+0x170/0x3f0
[   50.233816]  kunit_generic_run_threadfn_adapter+0x88/0x100
[   50.239285]  kthread+0x328/0x630
[   50.242497]  ret_from_fork+0x10/0x20
[   50.246056] 
[   50.247533] Freed by task 121:
[   50.250570]  kasan_save_stack+0x3c/0x68
[   50.254389]  kasan_save_track+0x20/0x40
[   50.258208]  kasan_save_free_info+0x4c/0x78
[   50.262375]  __kasan_slab_free+0x6c/0x98
[   50.266281]  kfree+0x214/0x3c8
[   50.269319]  workqueue_uaf_work+0x18/0x30
[   50.273312]  process_one_work+0x530/0xf98
[   50.277305]  worker_thread+0x618/0xf38
[   50.281038]  kthread+0x328/0x630
[   50.284250]  ret_from_fork+0x10/0x20
[   50.287809] 
[   50.289286] Last potentially related work creation:
[   50.294146]  kasan_save_stack+0x3c/0x68
[   50.297965]  kasan_record_aux_stack+0xb4/0xc8
[   50.302305]  __queue_work+0x65c/0xfe0
[   50.305951]  queue_work_on+0xbc/0xf8
[   50.309510]  workqueue_uaf+0x210/0x4a8
[   50.313242]  kunit_try_run_case+0x170/0x3f0
[   50.317409]  kunit_generic_run_threadfn_adapter+0x88/0x100
[   50.322877]  kthread+0x328/0x630
[   50.326089]  ret_from_fork+0x10/0x20
[   50.329648] 
[   50.331125] The buggy address belongs to the object at ffff0008084f7700
[   50.331125]  which belongs to the cache kmalloc-32 of size 32
[   50.343453] The buggy address is located 0 bytes inside of
[   50.343453]  freed 32-byte region [ffff0008084f7700, ffff0008084f7720)
[   50.355431] 
[   50.356906] The buggy address belongs to the physical page:
[   50.362465] page: refcount:0 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x8884f7
[   50.370451] flags: 0xbfffe0000000000(node=0|zone=2|lastcpupid=0x1ffff)
[   50.376958] page_type: f5(slab)
[   50.380094] raw: 0bfffe0000000000 ffff000800002780 dead000000000122 0000000000000000
[   50.387814] raw: 0000000000000000 0000000080400040 00000000f5000000 0000000000000000
[   50.395534] page dumped because: kasan: bad access detected
[   50.401088] 
[   50.402563] Memory state around the buggy address:
[   50.407344]  ffff0008084f7600: fa fb fb fb fc fc fc fc fa fb fb fb fc fc fc fc
[   50.414547]  ffff0008084f7680: fa fb fb fb fc fc fc fc 00 00 00 07 fc fc fc fc
[   50.421754] >ffff0008084f7700: fa fb fb fb fc fc fc fc 00 00 00 fc fc fc fc fc
[   50.428951]                    ^
[   50.432168]  ffff0008084f7780: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
[   50.439374]  ffff0008084f7800: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
[   50.446575] ==================================================================

[   30.844460] ==================================================================
[   30.844540] BUG: KASAN: slab-use-after-free in workqueue_uaf+0x480/0x4a8
[   30.844609] Read of size 8 at addr fff00000c9a4d880 by task kunit_try_catch/231
[   30.844678] 
[   30.844719] CPU: 1 UID: 0 PID: 231 Comm: kunit_try_catch Tainted: G    B            N  6.16.0-rc5-next-20250711 #1 PREEMPT 
[   30.845069] Tainted: [B]=BAD_PAGE, [N]=TEST
[   30.845144] Hardware name: linux,dummy-virt (DT)
[   30.845186] Call trace:
[   30.845213]  show_stack+0x20/0x38 (C)
[   30.845281]  dump_stack_lvl+0x8c/0xd0
[   30.845369]  print_report+0x118/0x5d0
[   30.845453]  kasan_report+0xdc/0x128
[   30.845526]  __asan_report_load8_noabort+0x20/0x30
[   30.845618]  workqueue_uaf+0x480/0x4a8
[   30.845686]  kunit_try_run_case+0x170/0x3f0
[   30.845808]  kunit_generic_run_threadfn_adapter+0x88/0x100
[   30.845897]  kthread+0x328/0x630
[   30.845982]  ret_from_fork+0x10/0x20
[   30.846109] 
[   30.846158] Allocated by task 231:
[   30.846186]  kasan_save_stack+0x3c/0x68
[   30.846229]  kasan_save_track+0x20/0x40
[   30.847181]  kasan_save_alloc_info+0x40/0x58
[   30.847259]  __kasan_kmalloc+0xd4/0xd8
[   30.847404]  __kmalloc_cache_noprof+0x16c/0x3c0
[   30.847515]  workqueue_uaf+0x13c/0x4a8
[   30.847588]  kunit_try_run_case+0x170/0x3f0
[   30.847696]  kunit_generic_run_threadfn_adapter+0x88/0x100
[   30.847740]  kthread+0x328/0x630
[   30.847772]  ret_from_fork+0x10/0x20
[   30.847817] 
[   30.847896] Freed by task 52:
[   30.847974]  kasan_save_stack+0x3c/0x68
[   30.848091]  kasan_save_track+0x20/0x40
[   30.848150]  kasan_save_free_info+0x4c/0x78
[   30.848196]  __kasan_slab_free+0x6c/0x98
[   30.848235]  kfree+0x214/0x3c8
[   30.848269]  workqueue_uaf_work+0x18/0x30
[   30.848306]  process_one_work+0x530/0xf98
[   30.848355]  worker_thread+0x618/0xf38
[   30.848389]  kthread+0x328/0x630
[   30.848423]  ret_from_fork+0x10/0x20
[   30.848459] 
[   30.848478] Last potentially related work creation:
[   30.848505]  kasan_save_stack+0x3c/0x68
[   30.848583]  kasan_record_aux_stack+0xb4/0xc8
[   30.848678]  __queue_work+0x65c/0xfe0
[   30.848729]  queue_work_on+0xbc/0xf8
[   30.848806]  workqueue_uaf+0x210/0x4a8
[   30.848884]  kunit_try_run_case+0x170/0x3f0
[   30.848985]  kunit_generic_run_threadfn_adapter+0x88/0x100
[   30.849052]  kthread+0x328/0x630
[   30.849136]  ret_from_fork+0x10/0x20
[   30.849206] 
[   30.849310] The buggy address belongs to the object at fff00000c9a4d880
[   30.849310]  which belongs to the cache kmalloc-32 of size 32
[   30.849406] The buggy address is located 0 bytes inside of
[   30.849406]  freed 32-byte region [fff00000c9a4d880, fff00000c9a4d8a0)
[   30.849496] 
[   30.849517] The buggy address belongs to the physical page:
[   30.849558] page: refcount:0 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x109a4d
[   30.849621] flags: 0xbfffe0000000000(node=0|zone=2|lastcpupid=0x1ffff)
[   30.849945] page_type: f5(slab)
[   30.849995] raw: 0bfffe0000000000 fff00000c0001780 dead000000000122 0000000000000000
[   30.850053] raw: 0000000000000000 0000000080400040 00000000f5000000 0000000000000000
[   30.850100] page dumped because: kasan: bad access detected
[   30.850135] 
[   30.850154] Memory state around the buggy address:
[   30.850189]  fff00000c9a4d780: 00 00 03 fc fc fc fc fc 00 00 07 fc fc fc fc fc
[   30.850237]  fff00000c9a4d800: 00 00 00 fc fc fc fc fc 00 00 00 07 fc fc fc fc
[   30.850403] >fff00000c9a4d880: fa fb fb fb fc fc fc fc 00 00 00 fc fc fc fc fc
[   30.850461]                    ^
[   30.850509]  fff00000c9a4d900: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
[   30.850556]  fff00000c9a4d980: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
[   30.850634] ==================================================================

[   24.368919] ==================================================================
[   24.369515] BUG: KASAN: slab-use-after-free in workqueue_uaf+0x4d6/0x560
[   24.370102] Read of size 8 at addr ffff888104cb8780 by task kunit_try_catch/250
[   24.371058] 
[   24.371389] CPU: 0 UID: 0 PID: 250 Comm: kunit_try_catch Tainted: G    B            N  6.16.0-rc5-next-20250711 #1 PREEMPT(voluntary) 
[   24.371457] Tainted: [B]=BAD_PAGE, [N]=TEST
[   24.371469] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2 04/01/2014
[   24.371492] Call Trace:
[   24.371505]  <TASK>
[   24.371524]  dump_stack_lvl+0x73/0xb0
[   24.371971]  print_report+0xd1/0x610
[   24.371997]  ? __virt_addr_valid+0x1db/0x2d0
[   24.372021]  ? workqueue_uaf+0x4d6/0x560
[   24.372046]  ? kasan_complete_mode_report_info+0x64/0x200
[   24.372083]  ? workqueue_uaf+0x4d6/0x560
[   24.372104]  kasan_report+0x141/0x180
[   24.372125]  ? workqueue_uaf+0x4d6/0x560
[   24.372151]  __asan_report_load8_noabort+0x18/0x20
[   24.372174]  workqueue_uaf+0x4d6/0x560
[   24.372195]  ? __pfx_workqueue_uaf+0x10/0x10
[   24.372216]  ? __schedule+0x10cc/0x2b60
[   24.372240]  ? __pfx_read_tsc+0x10/0x10
[   24.372262]  ? ktime_get_ts64+0x86/0x230
[   24.372287]  kunit_try_run_case+0x1a5/0x480
[   24.372310]  ? __pfx_kunit_try_run_case+0x10/0x10
[   24.372336]  ? _raw_spin_lock_irqsave+0xa1/0x100
[   24.372360]  ? _raw_spin_unlock_irqrestore+0x5f/0x90
[   24.372383]  ? __kthread_parkme+0x82/0x180
[   24.372405]  ? preempt_count_sub+0x50/0x80
[   24.372428]  ? __pfx_kunit_try_run_case+0x10/0x10
[   24.372449]  kunit_generic_run_threadfn_adapter+0x85/0xf0
[   24.372474]  ? __pfx_kunit_generic_run_threadfn_adapter+0x10/0x10
[   24.372498]  kthread+0x337/0x6f0
[   24.372517]  ? trace_preempt_on+0x20/0xc0
[   24.372540]  ? __pfx_kthread+0x10/0x10
[   24.372560]  ? _raw_spin_unlock_irq+0x47/0x80
[   24.372581]  ? calculate_sigpending+0x7b/0xa0
[   24.372606]  ? __pfx_kthread+0x10/0x10
[   24.372627]  ret_from_fork+0x116/0x1d0
[   24.372646]  ? __pfx_kthread+0x10/0x10
[   24.372666]  ret_from_fork_asm+0x1a/0x30
[   24.372696]  </TASK>
[   24.372708] 
[   24.385381] Allocated by task 250:
[   24.385602]  kasan_save_stack+0x45/0x70
[   24.385821]  kasan_save_track+0x18/0x40
[   24.385991]  kasan_save_alloc_info+0x3b/0x50
[   24.386178]  __kasan_kmalloc+0xb7/0xc0
[   24.386668]  __kmalloc_cache_noprof+0x189/0x420
[   24.387013]  workqueue_uaf+0x152/0x560
[   24.387595]  kunit_try_run_case+0x1a5/0x480
[   24.387823]  kunit_generic_run_threadfn_adapter+0x85/0xf0
[   24.388050]  kthread+0x337/0x6f0
[   24.388207]  ret_from_fork+0x116/0x1d0
[   24.388840]  ret_from_fork_asm+0x1a/0x30
[   24.389124] 
[   24.389534] Freed by task 9:
[   24.389707]  kasan_save_stack+0x45/0x70
[   24.389898]  kasan_save_track+0x18/0x40
[   24.390070]  kasan_save_free_info+0x3f/0x60
[   24.390255]  __kasan_slab_free+0x56/0x70
[   24.390816]  kfree+0x222/0x3f0
[   24.390979]  workqueue_uaf_work+0x12/0x20
[   24.391157]  process_one_work+0x5ee/0xf60
[   24.391878]  worker_thread+0x758/0x1220
[   24.392127]  kthread+0x337/0x6f0
[   24.392391]  ret_from_fork+0x116/0x1d0
[   24.392589]  ret_from_fork_asm+0x1a/0x30
[   24.392776] 
[   24.392859] Last potentially related work creation:
[   24.393054]  kasan_save_stack+0x45/0x70
[   24.393223]  kasan_record_aux_stack+0xb2/0xc0
[   24.394011]  __queue_work+0x61a/0xe70
[   24.394173]  queue_work_on+0xb6/0xc0
[   24.394528]  workqueue_uaf+0x26d/0x560
[   24.394715]  kunit_try_run_case+0x1a5/0x480
[   24.394913]  kunit_generic_run_threadfn_adapter+0x85/0xf0
[   24.395136]  kthread+0x337/0x6f0
[   24.395506]  ret_from_fork+0x116/0x1d0
[   24.395689]  ret_from_fork_asm+0x1a/0x30
[   24.395881] 
[   24.395965] The buggy address belongs to the object at ffff888104cb8780
[   24.395965]  which belongs to the cache kmalloc-32 of size 32
[   24.396994] The buggy address is located 0 bytes inside of
[   24.396994]  freed 32-byte region [ffff888104cb8780, ffff888104cb87a0)
[   24.397482] 
[   24.397577] The buggy address belongs to the physical page:
[   24.397825] page: refcount:0 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x104cb8
[   24.398153] flags: 0x200000000000000(node=0|zone=2)
[   24.398436] page_type: f5(slab)
[   24.398595] raw: 0200000000000000 ffff888100041780 dead000000000122 0000000000000000
[   24.398918] raw: 0000000000000000 0000000080400040 00000000f5000000 0000000000000000
[   24.399217] page dumped because: kasan: bad access detected
[   24.400308] 
[   24.400492] Memory state around the buggy address:
[   24.400649]  ffff888104cb8680: fa fb fb fb fc fc fc fc 00 00 00 fc fc fc fc fc
[   24.400914]  ffff888104cb8700: 00 00 05 fc fc fc fc fc fa fb fb fb fc fc fc fc
[   24.401194] >ffff888104cb8780: fa fb fb fb fc fc fc fc fc fc fc fc fc fc fc fc
[   24.402043]                    ^
[   24.402215]  ffff888104cb8800: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
[   24.402809]  ffff888104cb8880: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
[   24.403098] ==================================================================