Hay
Date
Feb. 5, 2025, 2:09 p.m.

Environment
qemu-x86_64

[   50.291197] ==================================================================
[   50.292009] BUG: KASAN: slab-use-after-free in strrchr+0x1e/0x40
[   50.292321] Read of size 1 at addr ffff8881028cedd0 by task kunit_try_catch/222
[   50.292633] 
[   50.292796] CPU: 1 PID: 222 Comm: kunit_try_catch Tainted: G    B            N 6.6.76-rc1 #1
[   50.293984] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2 04/01/2014
[   50.294721] Call Trace:
[   50.295416]  <TASK>
[   50.295847]  dump_stack_lvl+0x4e/0x90
[   50.296514]  print_report+0xd2/0x660
[   50.297237]  ? __virt_addr_valid+0x156/0x1e0
[   50.297874]  ? kasan_complete_mode_report_info+0x64/0x200
[   50.298534]  kasan_report+0xff/0x140
[   50.299426]  ? strrchr+0x1e/0x40
[   50.300168]  ? strrchr+0x1e/0x40
[   50.300676]  __asan_load1+0x66/0x70
[   50.301246]  strrchr+0x1e/0x40
[   50.301862]  kasan_strings+0x11f/0x510
[   50.302451]  ? __pfx_kasan_strings+0x10/0x10
[   50.303487]  ? __schedule+0x70b/0x1190
[   50.303978]  ? ktime_get_ts64+0x118/0x140
[   50.304559]  kunit_try_run_case+0x126/0x290
[   50.305130]  ? __pfx_kunit_try_run_case+0x10/0x10
[   50.305916]  ? __kasan_check_write+0x18/0x20
[   50.306631]  ? trace_preempt_on+0x20/0xa0
[   50.307342]  ? __kthread_parkme+0x4f/0xd0
[   50.307920]  ? preempt_count_sub+0x50/0x80
[   50.308630]  ? __pfx_kunit_try_run_case+0x10/0x10
[   50.309752]  ? __pfx_kunit_generic_run_threadfn_adapter+0x10/0x10
[   50.310664]  kunit_generic_run_threadfn_adapter+0x33/0x50
[   50.311522]  kthread+0x19e/0x1e0
[   50.312233]  ? __pfx_kthread+0x10/0x10
[   50.312840]  ret_from_fork+0x41/0x70
[   50.313433]  ? __pfx_kthread+0x10/0x10
[   50.314445]  ret_from_fork_asm+0x1b/0x30
[   50.315344]  </TASK>
[   50.315922] 
[   50.316444] Allocated by task 222:
[   50.316789]  kasan_save_stack+0x3c/0x60
[   50.317373]  kasan_set_track+0x29/0x40
[   50.317820]  kasan_save_alloc_info+0x22/0x30
[   50.318588]  __kasan_kmalloc+0xb7/0xc0
[   50.319191]  kmalloc_trace+0x4c/0xb0
[   50.319683]  kasan_strings+0x9f/0x510
[   50.320150]  kunit_try_run_case+0x126/0x290
[   50.321377]  kunit_generic_run_threadfn_adapter+0x33/0x50
[   50.322113]  kthread+0x19e/0x1e0
[   50.322653]  ret_from_fork+0x41/0x70
[   50.323101]  ret_from_fork_asm+0x1b/0x30
[   50.323703] 
[   50.324125] Freed by task 222:
[   50.324563]  kasan_save_stack+0x3c/0x60
[   50.325367]  kasan_set_track+0x29/0x40
[   50.325901]  kasan_save_free_info+0x2f/0x50
[   50.326493]  ____kasan_slab_free+0x172/0x1d0
[   50.326991]  __kasan_slab_free+0x16/0x20
[   50.327517]  __kmem_cache_free+0x190/0x310
[   50.328479]  kfree+0x7c/0x120
[   50.329085]  kasan_strings+0xc3/0x510
[   50.329615]  kunit_try_run_case+0x126/0x290
[   50.330706]  kunit_generic_run_threadfn_adapter+0x33/0x50
[   50.331413]  kthread+0x19e/0x1e0
[   50.332005]  ret_from_fork+0x41/0x70
[   50.332476]  ret_from_fork_asm+0x1b/0x30
[   50.332954] 
[   50.333231] The buggy address belongs to the object at ffff8881028cedc0
[   50.333231]  which belongs to the cache kmalloc-32 of size 32
[   50.334664] The buggy address is located 16 bytes inside of
[   50.334664]  freed 32-byte region [ffff8881028cedc0, ffff8881028cede0)
[   50.336676] 
[   50.336973] The buggy address belongs to the physical page:
[   50.337610] page:(____ptrval____) refcount:1 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x1028ce
[   50.338500] flags: 0x200000000000800(slab|node=0|zone=2)
[   50.338988] page_type: 0xffffffff()
[   50.339505] raw: 0200000000000800 ffff888100041500 dead000000000122 0000000000000000
[   50.340376] raw: 0000000000000000 0000000080400040 00000001ffffffff 0000000000000000
[   50.341329] page dumped because: kasan: bad access detected
[   50.342094] 
[   50.342408] Memory state around the buggy address:
[   50.343143]  ffff8881028cec80: fa fb fb fb fc fc fc fc fa fb fb fb fc fc fc fc
[   50.344003]  ffff8881028ced00: fa fb fb fb fc fc fc fc fa fb fb fb fc fc fc fc
[   50.344988] >ffff8881028ced80: 00 00 07 fc fc fc fc fc fa fb fb fb fc fc fc fc
[   50.346036]                                                  ^
[   50.346679]  ffff8881028cee00: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
[   50.347316]  ffff8881028cee80: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
[   50.348483] ==================================================================