On Wed, 20 May 2026 14:58:17 -0700 Rosen Penev <[email protected]> wrote:
> Store probe entry fetch instructions in the probe_entry_arg > allocation instead of allocating a separate instruction array. > > This keeps the entry fetch code tied to the entry argument lifetime while > leaving regular probe_arg instruction arrays separately allocated and > freed. > Thanks, this looks good to me. > Assisted-by: Codex:GPT-5.5 > Signed-off-by: Rosen Penev <[email protected]> > --- > kernel/trace/trace_probe.c | 8 +------- > kernel/trace/trace_probe.h | 2 +- > 2 files changed, 2 insertions(+), 8 deletions(-) > > diff --git a/kernel/trace/trace_probe.c b/kernel/trace/trace_probe.c > index e0d3a0da26af..39f040c863e8 100644 > --- a/kernel/trace/trace_probe.c > +++ b/kernel/trace/trace_probe.c > @@ -838,15 +838,10 @@ static int __store_entry_arg(struct trace_probe *tp, > int argnum) > int i, offset, last_offset = 0; > > if (!earg) { > - earg = kzalloc_obj(*tp->entry_arg); > + earg = kzalloc_flex(*earg, code, 2 * tp->nr_args + 1); > if (!earg) > return -ENOMEM; > earg->size = 2 * tp->nr_args + 1; > - earg->code = kzalloc_objs(struct fetch_insn, earg->size); > - if (!earg->code) { > - kfree(earg); > - return -ENOMEM; > - } > /* Fill the code buffer with 'end' to simplify it */ > for (i = 0; i < earg->size; i++) > earg->code[i].op = FETCH_OP_END; > @@ -2051,7 +2046,6 @@ void trace_probe_cleanup(struct trace_probe *tp) > traceprobe_free_probe_arg(&tp->args[i]); > > if (tp->entry_arg) { > - kfree(tp->entry_arg->code); > kfree(tp->entry_arg); > tp->entry_arg = NULL; > } > diff --git a/kernel/trace/trace_probe.h b/kernel/trace/trace_probe.h > index 262d8707a3df..1076f1df347b 100644 > --- a/kernel/trace/trace_probe.h > +++ b/kernel/trace/trace_probe.h > @@ -238,8 +238,8 @@ struct probe_arg { > }; > > struct probe_entry_arg { > - struct fetch_insn *code; > unsigned int size; /* The entry data size */ > + struct fetch_insn code[] __counted_by(size); > }; > > struct trace_uprobe_filter { > -- > 2.54.0 > -- Masami Hiramatsu (Google) <[email protected]>
