On Tue, 26 May 2026 17:51:05 +0800 Yu Peng <[email protected]> wrote:
> The HIST_FIELD_FL_CONST path duplicates the literal "u64" type with > kstrdup(), then releases it through kfree_const(). > > Use kstrdup_const() instead, avoiding the allocation for a .rodata string > while keeping the matching free helper. > Since we are using kfree_const() to free hist_field->type, we can just point it as same as HIST_FIELD_FL_HITCOUNT case. Thanks, > Signed-off-by: Yu Peng <[email protected]> > --- > kernel/trace/trace_events_hist.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/kernel/trace/trace_events_hist.c > b/kernel/trace/trace_events_hist.c > index eb2c2bc8bc3d..6ffe9f4720a0 100644 > --- a/kernel/trace/trace_events_hist.c > +++ b/kernel/trace/trace_events_hist.c > @@ -1992,7 +1992,7 @@ static struct hist_field *create_hist_field(struct > hist_trigger_data *hist_data, > if (flags & HIST_FIELD_FL_CONST) { > hist_field->fn_num = HIST_FIELD_FN_CONST; > hist_field->size = sizeof(u64); > - hist_field->type = kstrdup("u64", GFP_KERNEL); > + hist_field->type = kstrdup_const("u64", GFP_KERNEL); > if (!hist_field->type) > goto free; > goto out; > -- > 2.43.0 -- Masami Hiramatsu (Google) <[email protected]>
