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.

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

Reply via email to