On Thu, 21 May 2026 10:28:16 +0800
Pengpeng Hou <[email protected]> wrote:
> diff --git a/kernel/trace/trace_events_hist.c
> b/kernel/trace/trace_events_hist.c
> index 0dbbf6cca9bc..0b33bb8ef6f7 100644
> --- a/kernel/trace/trace_events_hist.c
> +++ b/kernel/trace/trace_events_hist.c
> @@ -1769,18 +1769,18 @@ static void expr_field_str(struct hist_field *field,
> char *expr)
>
> static char *expr_str(struct hist_field *field, unsigned int level)
> {
> - char *expr;
> + char *expr __free(kfree) = NULL;
Can you split this into two patches.
1. Change expr to use __free(kfree)
2. Update to use ERR_PTR()
as they are two distinct changes.
Thanks,
-- Steve
>
> if (level > 1)
> - return NULL;
> + return ERR_PTR(-EINVAL);
>
> expr = kzalloc(MAX_FILTER_STR_VAL, GFP_KERNEL);
> if (!expr)
> - return NULL;
> + return ERR_PTR(-ENOMEM);
>
> if (!field->operands[0]) {
> expr_field_str(field, expr);
> - return expr;
> + return_ptr(expr);
> }