Hay
Date
May 15, 2025, 10:38 a.m.

Environment
qemu-arm64
qemu-x86_64

[   19.320622] ==================================================================
[   19.320695] BUG: KASAN: slab-use-after-free in kmem_cache_double_destroy+0x174/0x300
[   19.320763] Read of size 1 at addr fff00000c1736500 by task kunit_try_catch/215
[   19.320812] 
[   19.320851] CPU: 0 UID: 0 PID: 215 Comm: kunit_try_catch Tainted: G    B            N  6.15.0-rc6-next-20250515 #1 PREEMPT 
[   19.320940] Tainted: [B]=BAD_PAGE, [N]=TEST
[   19.320967] Hardware name: linux,dummy-virt (DT)
[   19.321001] Call trace:
[   19.321026]  show_stack+0x20/0x38 (C)
[   19.321079]  dump_stack_lvl+0x8c/0xd0
[   19.321130]  print_report+0x118/0x608
[   19.321192]  kasan_report+0xdc/0x128
[   19.321239]  __kasan_check_byte+0x54/0x70
[   19.321285]  kmem_cache_destroy+0x34/0x218
[   19.321334]  kmem_cache_double_destroy+0x174/0x300
[   19.321384]  kunit_try_run_case+0x170/0x3f0
[   19.321433]  kunit_generic_run_threadfn_adapter+0x88/0x100
[   19.321485]  kthread+0x328/0x630
[   19.321533]  ret_from_fork+0x10/0x20
[   19.321581] 
[   19.321601] Allocated by task 215:
[   19.321631]  kasan_save_stack+0x3c/0x68
[   19.321673]  kasan_save_track+0x20/0x40
[   19.321711]  kasan_save_alloc_info+0x40/0x58
[   19.321754]  __kasan_slab_alloc+0xa8/0xb0
[   19.321795]  kmem_cache_alloc_noprof+0x10c/0x3a0
[   19.321843]  __kmem_cache_create_args+0x178/0x280
[   19.321883]  kmem_cache_double_destroy+0xc0/0x300
[   19.321923]  kunit_try_run_case+0x170/0x3f0
[   19.321961]  kunit_generic_run_threadfn_adapter+0x88/0x100
[   19.322004]  kthread+0x328/0x630
[   19.322041]  ret_from_fork+0x10/0x20
[   19.322079] 
[   19.322097] Freed by task 215:
[   19.322124]  kasan_save_stack+0x3c/0x68
[   19.322169]  kasan_save_track+0x20/0x40
[   19.322206]  kasan_save_free_info+0x4c/0x78
[   19.322244]  __kasan_slab_free+0x6c/0x98
[   19.322280]  kmem_cache_free+0x260/0x470
[   19.322317]  slab_kmem_cache_release+0x38/0x50
[   19.322356]  kmem_cache_release+0x1c/0x30
[   19.322393]  kobject_put+0x17c/0x430
[   19.322432]  sysfs_slab_release+0x1c/0x30
[   19.322471]  kmem_cache_destroy+0x118/0x218
[   19.322507]  kmem_cache_double_destroy+0x128/0x300
[   19.322546]  kunit_try_run_case+0x170/0x3f0
[   19.322582]  kunit_generic_run_threadfn_adapter+0x88/0x100
[   19.322625]  kthread+0x328/0x630
[   19.322660]  ret_from_fork+0x10/0x20
[   19.322696] 
[   19.322717] The buggy address belongs to the object at fff00000c1736500
[   19.322717]  which belongs to the cache kmem_cache of size 208
[   19.322778] The buggy address is located 0 bytes inside of
[   19.322778]  freed 208-byte region [fff00000c1736500, fff00000c17365d0)
[   19.322838] 
[   19.322860] The buggy address belongs to the physical page:
[   19.322891] page: refcount:0 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x101736
[   19.322946] flags: 0xbfffe0000000000(node=0|zone=2|lastcpupid=0x1ffff)
[   19.322996] page_type: f5(slab)
[   19.323038] raw: 0bfffe0000000000 fff00000c0001000 dead000000000122 0000000000000000
[   19.323087] raw: 0000000000000000 00000000800c000c 00000000f5000000 0000000000000000
[   19.323127] page dumped because: kasan: bad access detected
[   19.323168] 
[   19.323186] Memory state around the buggy address:
[   19.323221]  fff00000c1736400: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
[   19.323266]  fff00000c1736480: fb fb fc fc fc fc fc fc fc fc fc fc fc fc fc fc
[   19.323309] >fff00000c1736500: fa fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
[   19.323347]                    ^
[   19.323374]  fff00000c1736580: fb fb fb fb fb fb fb fb fb fb fc fc fc fc fc fc
[   19.323417]  fff00000c1736600: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
[   19.323456] ==================================================================


[   15.034267] ==================================================================
[   15.034788] BUG: KASAN: slab-use-after-free in kmem_cache_double_destroy+0x1bf/0x380
[   15.035324] Read of size 1 at addr ffff8881009b3a00 by task kunit_try_catch/233
[   15.035678] 
[   15.035821] CPU: 0 UID: 0 PID: 233 Comm: kunit_try_catch Tainted: G    B            N  6.15.0-rc6-next-20250515 #1 PREEMPT(voluntary) 
[   15.036053] Tainted: [B]=BAD_PAGE, [N]=TEST
[   15.036077] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2 04/01/2014
[   15.036116] Call Trace:
[   15.036140]  <TASK>
[   15.036174]  dump_stack_lvl+0x73/0xb0
[   15.036248]  print_report+0xd1/0x650
[   15.036298]  ? __virt_addr_valid+0x1db/0x2d0
[   15.036350]  ? kmem_cache_double_destroy+0x1bf/0x380
[   15.036395]  ? kasan_complete_mode_report_info+0x64/0x200
[   15.036443]  ? kmem_cache_double_destroy+0x1bf/0x380
[   15.036484]  kasan_report+0x141/0x180
[   15.036523]  ? kmem_cache_double_destroy+0x1bf/0x380
[   15.036562]  ? kmem_cache_double_destroy+0x1bf/0x380
[   15.036596]  __kasan_check_byte+0x3d/0x50
[   15.036638]  kmem_cache_destroy+0x25/0x1d0
[   15.036684]  kmem_cache_double_destroy+0x1bf/0x380
[   15.036720]  ? __pfx_kmem_cache_double_destroy+0x10/0x10
[   15.036982]  ? finish_task_switch.isra.0+0x153/0x700
[   15.037034]  ? __switch_to+0x47/0xf50
[   15.037109]  ? __pfx_read_tsc+0x10/0x10
[   15.037172]  ? ktime_get_ts64+0x86/0x230
[   15.037234]  kunit_try_run_case+0x1a5/0x480
[   15.037273]  ? __pfx_kunit_try_run_case+0x10/0x10
[   15.037298]  ? _raw_spin_lock_irqsave+0xa1/0x100
[   15.037323]  ? _raw_spin_unlock_irqrestore+0x5f/0x90
[   15.037346]  ? __kthread_parkme+0x82/0x180
[   15.037376]  ? preempt_count_sub+0x50/0x80
[   15.037416]  ? __pfx_kunit_try_run_case+0x10/0x10
[   15.037456]  kunit_generic_run_threadfn_adapter+0x85/0xf0
[   15.037498]  ? __pfx_kunit_generic_run_threadfn_adapter+0x10/0x10
[   15.037540]  kthread+0x337/0x6f0
[   15.037587]  ? trace_preempt_on+0x20/0xc0
[   15.037650]  ? __pfx_kthread+0x10/0x10
[   15.037694]  ? _raw_spin_unlock_irq+0x47/0x80
[   15.037730]  ? calculate_sigpending+0x7b/0xa0
[   15.037778]  ? __pfx_kthread+0x10/0x10
[   15.037820]  ret_from_fork+0x116/0x1d0
[   15.037955]  ? __pfx_kthread+0x10/0x10
[   15.037995]  ret_from_fork_asm+0x1a/0x30
[   15.038056]  </TASK>
[   15.038077] 
[   15.050094] Allocated by task 233:
[   15.050465]  kasan_save_stack+0x45/0x70
[   15.050861]  kasan_save_track+0x18/0x40
[   15.051056]  kasan_save_alloc_info+0x3b/0x50
[   15.051250]  __kasan_slab_alloc+0x91/0xa0
[   15.051559]  kmem_cache_alloc_noprof+0x123/0x3f0
[   15.052698]  __kmem_cache_create_args+0x169/0x240
[   15.053113]  kmem_cache_double_destroy+0xd5/0x380
[   15.053656]  kunit_try_run_case+0x1a5/0x480
[   15.053978]  kunit_generic_run_threadfn_adapter+0x85/0xf0
[   15.054433]  kthread+0x337/0x6f0
[   15.054846]  ret_from_fork+0x116/0x1d0
[   15.055059]  ret_from_fork_asm+0x1a/0x30
[   15.055239] 
[   15.055328] Freed by task 233:
[   15.055629]  kasan_save_stack+0x45/0x70
[   15.056464]  kasan_save_track+0x18/0x40
[   15.057065]  kasan_save_free_info+0x3f/0x60
[   15.057372]  __kasan_slab_free+0x56/0x70
[   15.057692]  kmem_cache_free+0x249/0x420
[   15.057930]  slab_kmem_cache_release+0x2e/0x40
[   15.058284]  kmem_cache_release+0x16/0x20
[   15.058723]  kobject_put+0x181/0x450
[   15.058967]  sysfs_slab_release+0x16/0x20
[   15.059333]  kmem_cache_destroy+0xf0/0x1d0
[   15.059575]  kmem_cache_double_destroy+0x14e/0x380
[   15.059770]  kunit_try_run_case+0x1a5/0x480
[   15.060874]  kunit_generic_run_threadfn_adapter+0x85/0xf0
[   15.061572]  kthread+0x337/0x6f0
[   15.061854]  ret_from_fork+0x116/0x1d0
[   15.062120]  ret_from_fork_asm+0x1a/0x30
[   15.062441] 
[   15.062568] The buggy address belongs to the object at ffff8881009b3a00
[   15.062568]  which belongs to the cache kmem_cache of size 208
[   15.063330] The buggy address is located 0 bytes inside of
[   15.063330]  freed 208-byte region [ffff8881009b3a00, ffff8881009b3ad0)
[   15.064063] 
[   15.064181] The buggy address belongs to the physical page:
[   15.064393] page: refcount:0 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x1009b3
[   15.064850] flags: 0x200000000000000(node=0|zone=2)
[   15.065347] page_type: f5(slab)
[   15.065706] raw: 0200000000000000 ffff888100041000 dead000000000122 0000000000000000
[   15.066163] raw: 0000000000000000 00000000800c000c 00000000f5000000 0000000000000000
[   15.067261] page dumped because: kasan: bad access detected
[   15.067506] 
[   15.067615] Memory state around the buggy address:
[   15.067813]  ffff8881009b3900: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
[   15.068373]  ffff8881009b3980: fb fb fc fc fc fc fc fc fc fc fc fc fc fc fc fc
[   15.068990] >ffff8881009b3a00: fa fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
[   15.069560]                    ^
[   15.069991]  ffff8881009b3a80: fb fb fb fb fb fb fb fb fb fb fc fc fc fc fc fc
[   15.070419]  ffff8881009b3b00: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
[   15.071269] ==================================================================