[Crash-utility] [PATCH 1/1] memory: Handle struct slab changes in linux-next

HAGIO KAZUHITO(萩尾 一仁) k-hagio-ab at nec.com
Wed Dec 15 05:42:45 UTC 2021


Hi Alex,

-----Original Message-----
> Since linux-next commit fe1e19081321 ("mm: Split slab into its own type"),
> the struct slab is used for both SLAB and SLUB. Therefore, don't depend
> on the non-presence of the struct slab to decide whether SLAB implementation
> should be chosen and use the member variable "cpu_slab" of the struct
> kmem_cache instead, it should be present only in SLUB.
> 
> Signed-off-by: Alexander Egorenkov <egorenar at linux.ibm.com>

Thanks for the early fix as always.  It looks good to me.
We'd like to add the error message to the commit log:
---
Without the patch, crash fails to start with the error message:

  crash: invalid structure member offset: kmem_cache_s_num
             FILE: memory.c  LINE: 9619  FUNCTION: kmem_cache_init()
---

Acked-by: Kazuhito Hagio <k-hagio-ab at nec.com>

btw, kmem -s does not work well with the current linux-next.
I've not looked into it yet, any patches would be helpful.

Thanks,
Kazu


> ---
>  memory.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/memory.c b/memory.c
> index 86c02c132890..5af45fd7d834 100644
> --- a/memory.c
> +++ b/memory.c
> @@ -576,7 +576,8 @@ vm_init(void)
>  		STRUCT_SIZE_INIT(cpucache_s, "cpucache_s");
> 
>          } else if (!VALID_STRUCT(kmem_slab_s) &&
> -		   !VALID_STRUCT(slab_s) &&
> +		   !VALID_STRUCT(slab_s) &&
> +		   !MEMBER_EXISTS("kmem_cache", "cpu_slab") &&
>  		   (VALID_STRUCT(slab) || (vt->flags & SLAB_OVERLOAD_PAGE))) {
>                  vt->flags |= PERCPU_KMALLOC_V2;
> 
> --
> 2.31.1
> 
> --
> Crash-utility mailing list
> Crash-utility at redhat.com
> https://listman.redhat.com/mailman/listinfo/crash-utility





More information about the Crash-utility mailing list