Re: [PATCH] mm, kfence: support kmem_dump_obj() for KFENCE objects

From: Vlastimil Babka
Date: Thu Apr 07 2022 - 05:58:40 EST


On 4/6/22 15:15, Marco Elver wrote:
> Calling kmem_obj_info() via kmem_dump_obj() on KFENCE objects has been
> producing garbage data due to the object not actually being maintained
> by SLAB or SLUB.
>
> Fix this by implementing __kfence_obj_info() that copies relevant
> information to struct kmem_obj_info when the object was allocated by
> KFENCE; this is called by a common kmem_obj_info(), which also calls the
> slab/slub/slob specific variant now called __kmem_obj_info().
>
> For completeness, kmem_dump_obj() now displays if the object was
> allocated by KFENCE.
>
> Link: https://lore.kernel.org/all/20220323090520.GG16885@xsang-OptiPlex-9020/
> Fixes: b89fb5ef0ce6 ("mm, kfence: insert KFENCE hooks for SLUB")
> Fixes: d3fb45f370d9 ("mm, kfence: insert KFENCE hooks for SLAB")
> Reported-by: kernel test robot <oliver.sang@xxxxxxxxx>
> Signed-off-by: Marco Elver <elver@xxxxxxxxxx>
> Reviewed-by: Hyeonggon Yoo <42.hyeyoo@xxxxxxxxx>

For the slab parts:
Acked-by: Vlastimil Babka <vbabka@xxxxxxx>

> ---
> include/linux/kfence.h | 24 +++++++++++++++++++++
> mm/kfence/core.c | 21 -------------------
> mm/kfence/kfence.h | 21 +++++++++++++++++++
> mm/kfence/report.c | 47 ++++++++++++++++++++++++++++++++++++++++++
> mm/slab.c | 2 +-
> mm/slab.h | 2 +-
> mm/slab_common.c | 9 ++++++++
> mm/slob.c | 2 +-
> mm/slub.c | 2 +-
> 9 files changed, 105 insertions(+), 25 deletions(-)
>