Re: [PATCH 1/1] lib/list_debug.c: add object information in case of invalid object

From: Christian Brauner
Date: Tue Jan 07 2025 - 09:53:32 EST


On Mon, Dec 30, 2024 at 03:40:43PM +0530, Maninder Singh wrote:
> As of now during link list corruption it prints about cluprit address
> and its wrong value, but sometime it is not enough to catch the actual
> issue point.
>
> If it prints allocation and free path of that corrupted node,
> it will be a lot easier to find and fix the issues.
>
> Adding the same information when data mismatch is found in link list
> debug data:
>
> [ 14.243055] slab kmalloc-32 start ffff0000cda19320 data offset 32 pointer offset 8 size 32 allocated at add_to_list+0x28/0xb0
> [ 14.245259] __kmalloc_cache_noprof+0x1c4/0x358
> [ 14.245572] add_to_list+0x28/0xb0
> ...
> [ 14.248632] do_el0_svc_compat+0x1c/0x34
> [ 14.249018] el0_svc_compat+0x2c/0x80
> [ 14.249244] Free path:
> [ 14.249410] kfree+0x24c/0x2f0
> [ 14.249724] do_force_corruption+0xbc/0x100
> ...
> [ 14.252266] el0_svc_common.constprop.0+0x40/0xe0
> [ 14.252540] do_el0_svc_compat+0x1c/0x34
> [ 14.252763] el0_svc_compat+0x2c/0x80
> [ 14.253071] ------------[ cut here ]------------
> [ 14.253303] list_del corruption. next->prev should be ffff0000cda192a8, but was 6b6b6b6b6b6b6b6b. (next=ffff0000cda19348)
> [ 14.254255] WARNING: CPU: 3 PID: 84 at lib/list_debug.c:65 __list_del_entry_valid_or_report+0x158/0x164
>
> moved prototype of mem_dump_obj() to bug.h, as mm.h can not be included
> in bug.h.
>
> Signed-off-by: Maninder Singh <maninder1.s@xxxxxxxxxxx>
> ---

Can you please base this on either the latest mainline tag or
vfs-6.14.misc and resend, please?