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(-) >