Re: [PATCH v1] kernel/trace/trace: check the return value of tracing_update_buffers()
From: Steven Rostedt
Date: Mon Sep 26 2022 - 14:31:24 EST
On Fri, 16 Sep 2022 19:03:53 -0700
Li Zhong <floridsleeves@xxxxxxxxx> wrote:
> Check the return value of tracing_update_buffers() in case it fails.
FYI, the subject should be:
tracing: Check the return value of tracing_update_buffers()
>
> Signed-off-by: Li Zhong <floridsleeves@xxxxxxxxx>
> ---
> kernel/trace/trace.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c
> index d3005279165d..0e367e326147 100644
> --- a/kernel/trace/trace.c
> +++ b/kernel/trace/trace.c
> @@ -3305,7 +3305,8 @@ void trace_printk_init_buffers(void)
> pr_warn("**********************************************************\n");
>
> /* Expand the buffers to set size */
> - tracing_update_buffers();
> + if (tracing_update_buffers() < 0)
> + return;
Even if the buffers are not expanded, tracing can still work. This should
not return here. But instead we should have something like:
/* Allocation really should not fail here at boot up or module load */
if (tracing_update_buffers() < 0)
pr_err("Failed to expand tracing buffers for trace_printk() calls\n");
else
buffers_allocate = 1;
As we still want the cmdline action done late in the code.
-- Steve
>
> buffers_allocated = 1;
>