Hay
Date
Dec. 6, 2024, 3:11 p.m.

Environment
qemu-arm64
qemu-x86_64

[   31.664136] ==================================================================
[   31.665493] BUG: KASAN: slab-use-after-free in kmalloc_double_kzfree+0x168/0x308
[   31.666936] Read of size 1 at addr fff00000c5b518a0 by task kunit_try_catch/181
[   31.668054] 
[   31.668676] CPU: 0 UID: 0 PID: 181 Comm: kunit_try_catch Tainted: G    B            N 6.13.0-rc1-next-20241206 #1
[   31.669990] Tainted: [B]=BAD_PAGE, [N]=TEST
[   31.670626] Hardware name: linux,dummy-virt (DT)
[   31.671587] Call trace:
[   31.672042]  show_stack+0x20/0x38 (C)
[   31.672766]  dump_stack_lvl+0x8c/0xd0
[   31.673398]  print_report+0x118/0x5e0
[   31.674059]  kasan_report+0xc8/0x118
[   31.674908]  __kasan_check_byte+0x54/0x70
[   31.675572]  kfree_sensitive+0x30/0xb0
[   31.676286]  kmalloc_double_kzfree+0x168/0x308
[   31.677010]  kunit_try_run_case+0x14c/0x3d0
[   31.677719]  kunit_generic_run_threadfn_adapter+0x88/0x100
[   31.678568]  kthread+0x24c/0x2d0
[   31.679152]  ret_from_fork+0x10/0x20
[   31.679815] 
[   31.680162] Allocated by task 181:
[   31.680811]  kasan_save_stack+0x3c/0x68
[   31.681484]  kasan_save_track+0x20/0x40
[   31.682050]  kasan_save_alloc_info+0x40/0x58
[   31.683058]  __kasan_kmalloc+0xd4/0xd8
[   31.683838]  __kmalloc_cache_noprof+0x15c/0x3c0
[   31.684546]  kmalloc_double_kzfree+0xb8/0x308
[   31.685265]  kunit_try_run_case+0x14c/0x3d0
[   31.685987]  kunit_generic_run_threadfn_adapter+0x88/0x100
[   31.686977]  kthread+0x24c/0x2d0
[   31.687567]  ret_from_fork+0x10/0x20
[   31.688427] 
[   31.688909] Freed by task 181:
[   31.689530]  kasan_save_stack+0x3c/0x68
[   31.690150]  kasan_save_track+0x20/0x40
[   31.690698]  kasan_save_free_info+0x4c/0x78
[   31.691292]  __kasan_slab_free+0x6c/0x98
[   31.692184]  kfree+0x114/0x3c8
[   31.692752]  kfree_sensitive+0x80/0xb0
[   31.693318]  kmalloc_double_kzfree+0x11c/0x308
[   31.693959]  kunit_try_run_case+0x14c/0x3d0
[   31.694880]  kunit_generic_run_threadfn_adapter+0x88/0x100
[   31.695718]  kthread+0x24c/0x2d0
[   31.696274]  ret_from_fork+0x10/0x20
[   31.696931] 
[   31.697310] The buggy address belongs to the object at fff00000c5b518a0
[   31.697310]  which belongs to the cache kmalloc-16 of size 16
[   31.698985] The buggy address is located 0 bytes inside of
[   31.698985]  freed 16-byte region [fff00000c5b518a0, fff00000c5b518b0)
[   31.700250] 
[   31.700677] The buggy address belongs to the physical page:
[   31.701328] page: refcount:0 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x105b51
[   31.702555] flags: 0xbfffe0000000000(node=0|zone=2|lastcpupid=0x1ffff)
[   31.703344] page_type: f5(slab)
[   31.703840] raw: 0bfffe0000000000 fff00000c0001640 dead000000000122 0000000000000000
[   31.704896] raw: 0000000000000000 0000000080800080 00000000f5000000 0000000000000000
[   31.705784] page dumped because: kasan: bad access detected
[   31.706099] 
[   31.706720] Memory state around the buggy address:
[   31.707212]  fff00000c5b51780: fa fb fc fc fa fb fc fc fa fb fc fc fa fb fc fc
[   31.708400]  fff00000c5b51800: fa fb fc fc fa fb fc fc fa fb fc fc fa fb fc fc
[   31.709424] >fff00000c5b51880: fa fb fc fc fa fb fc fc fc fc fc fc fc fc fc fc
[   31.710335]                                ^
[   31.710859]  fff00000c5b51900: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
[   31.711848]  fff00000c5b51980: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
[   31.712648] ==================================================================

[   24.283377] ==================================================================
[   24.284771] BUG: KASAN: slab-use-after-free in kmalloc_double_kzfree+0x19d/0x360
[   24.286015] Read of size 1 at addr ffff888101fff700 by task kunit_try_catch/200
[   24.286565] 
[   24.286747] CPU: 1 UID: 0 PID: 200 Comm: kunit_try_catch Tainted: G    B            N 6.13.0-rc1-next-20241206 #1
[   24.287760] Tainted: [B]=BAD_PAGE, [N]=TEST
[   24.288068] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2 04/01/2014
[   24.290003] Call Trace:
[   24.290625]  <TASK>
[   24.291217]  dump_stack_lvl+0x73/0xb0
[   24.292206]  print_report+0xd1/0x640
[   24.292860]  ? __virt_addr_valid+0x1db/0x2d0
[   24.293625]  ? kasan_complete_mode_report_info+0x64/0x200
[   24.294394]  kasan_report+0x102/0x140
[   24.294900]  ? kmalloc_double_kzfree+0x19d/0x360
[   24.295520]  ? kmalloc_double_kzfree+0x19d/0x360
[   24.296620]  ? kmalloc_double_kzfree+0x19d/0x360
[   24.297098]  __kasan_check_byte+0x3d/0x50
[   24.297686]  kfree_sensitive+0x22/0x90
[   24.298385]  kmalloc_double_kzfree+0x19d/0x360
[   24.298870]  ? __pfx_kmalloc_double_kzfree+0x10/0x10
[   24.299459]  ? __schedule+0xc70/0x27e0
[   24.300926]  ? __pfx_read_tsc+0x10/0x10
[   24.301269]  ? ktime_get_ts64+0x86/0x230
[   24.302495]  kunit_try_run_case+0x1b3/0x490
[   24.303339]  ? __pfx_kunit_try_run_case+0x10/0x10
[   24.303677]  ? _raw_spin_lock_irqsave+0xa2/0x110
[   24.304883]  ? _raw_spin_unlock_irqrestore+0x5f/0x90
[   24.305303]  ? __kthread_parkme+0x82/0x160
[   24.305882]  ? preempt_count_sub+0x50/0x80
[   24.306247]  ? __pfx_kunit_try_run_case+0x10/0x10
[   24.307630]  ? __pfx_kunit_generic_run_threadfn_adapter+0x10/0x10
[   24.308365]  kunit_generic_run_threadfn_adapter+0x85/0xf0
[   24.309164]  kthread+0x257/0x310
[   24.309841]  ? __pfx_kthread+0x10/0x10
[   24.310240]  ret_from_fork+0x41/0x80
[   24.310761]  ? __pfx_kthread+0x10/0x10
[   24.311468]  ret_from_fork_asm+0x1a/0x30
[   24.313021]  </TASK>
[   24.313858] 
[   24.314141] Allocated by task 200:
[   24.314422]  kasan_save_stack+0x3d/0x60
[   24.315461]  kasan_save_track+0x18/0x40
[   24.316522]  kasan_save_alloc_info+0x3b/0x50
[   24.317154]  __kasan_kmalloc+0xb7/0xc0
[   24.317558]  __kmalloc_cache_noprof+0x184/0x410
[   24.318043]  kmalloc_double_kzfree+0xaa/0x360
[   24.320337]  kunit_try_run_case+0x1b3/0x490
[   24.320881]  kunit_generic_run_threadfn_adapter+0x85/0xf0
[   24.321890]  kthread+0x257/0x310
[   24.322261]  ret_from_fork+0x41/0x80
[   24.323255]  ret_from_fork_asm+0x1a/0x30
[   24.324154] 
[   24.324269] Freed by task 200:
[   24.324419]  kasan_save_stack+0x3d/0x60
[   24.325407]  kasan_save_track+0x18/0x40
[   24.325973]  kasan_save_free_info+0x3f/0x60
[   24.326530]  __kasan_slab_free+0x56/0x70
[   24.327318]  kfree+0x123/0x3f0
[   24.327908]  kfree_sensitive+0x67/0x90
[   24.328919]  kmalloc_double_kzfree+0x12c/0x360
[   24.330068]  kunit_try_run_case+0x1b3/0x490
[   24.330957]  kunit_generic_run_threadfn_adapter+0x85/0xf0
[   24.331793]  kthread+0x257/0x310
[   24.333236]  ret_from_fork+0x41/0x80
[   24.334406]  ret_from_fork_asm+0x1a/0x30
[   24.335140] 
[   24.335763] The buggy address belongs to the object at ffff888101fff700
[   24.335763]  which belongs to the cache kmalloc-16 of size 16
[   24.337161] The buggy address is located 0 bytes inside of
[   24.337161]  freed 16-byte region [ffff888101fff700, ffff888101fff710)
[   24.339310] 
[   24.339589] The buggy address belongs to the physical page:
[   24.341009] page: refcount:0 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x101fff
[   24.342093] flags: 0x200000000000000(node=0|zone=2)
[   24.343047] page_type: f5(slab)
[   24.343528] raw: 0200000000000000 ffff888100041640 dead000000000122 0000000000000000
[   24.345183] raw: 0000000000000000 0000000080800080 00000000f5000000 0000000000000000
[   24.347229] page dumped because: kasan: bad access detected
[   24.347972] 
[   24.348430] Memory state around the buggy address:
[   24.349332]  ffff888101fff600: 00 00 fc fc fa fb fc fc fa fb fc fc fa fb fc fc
[   24.350576]  ffff888101fff680: fa fb fc fc 00 04 fc fc fa fb fc fc fa fb fc fc
[   24.352193] >ffff888101fff700: fa fb fc fc fc fc fc fc fc fc fc fc fc fc fc fc
[   24.353491]                    ^
[   24.354121]  ffff888101fff780: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
[   24.355544]  ffff888101fff800: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
[   24.357048] ==================================================================