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]>
