On Thu, 17 Sep 2026 14:10:23 -0700
Kees Cook <[email protected]> wrote:

> From: Kees Cook <[email protected]>
> 
> In preparation for converting the kmalloc family of allocators to the
> type-aware kmalloc_obj family, we need to make sure that the returned
> type from the allocation matches the type of the variable being
> assigned. (The kmalloc family returns "void *", which can be implicitly
> cast to any pointer type.)
> 
> The assigned type is "const char **", but the converted allocation type
> would be "char **", which is the same type without the const qualifier.
> As there is no general way to safely add const qualifiers, take the size
> from the assignment target instead. No change in allocation size
> results.

This looks good to me. Let me pick it for-next.

Thanks!

> 
> Build tested ARCH=x86_64 allmodconfig with GCC 16.2.0:
> kernel/trace/trace_probe.o
> 
> Assisted-by: LLM coccinelle
> Signed-off-by: Kees Cook <[email protected]>
> ---
> Cc: Steven Rostedt <[email protected]>
> Cc: Masami Hiramatsu <[email protected]>
> Cc: Mathieu Desnoyers <[email protected]>
> Cc: <[email protected]>
> ---
>  kernel/trace/trace_probe.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/kernel/trace/trace_probe.c b/kernel/trace/trace_probe.c
> index 804442b2f7d2..cfb710095f65 100644
> --- a/kernel/trace/trace_probe.c
> +++ b/kernel/trace/trace_probe.c
> @@ -2316,7 +2316,7 @@ const char **traceprobe_expand_meta_args(int argc, 
> const char *argv[],
>       else
>               *new_argc = argc;
>  
> -     new_argv = kcalloc(*new_argc, sizeof(char *), GFP_KERNEL);
> +     new_argv = kcalloc(*new_argc, sizeof(*new_argv), GFP_KERNEL);
>       if (!new_argv)
>               return ERR_PTR(-ENOMEM);
>  
> -- 
> 2.34.1
> 


-- 
Masami Hiramatsu (Google) <[email protected]>

Reply via email to