Check the return value of tracing_update_buffers() in case it fails.
Signed-off-by: Li Zhong <[email protected]>
---
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;
buffers_allocated = 1;
--
2.25.1
On Fri, 16 Sep 2022 19:03:53 -0700
Li Zhong <[email protected]> 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 <[email protected]>
> ---
> 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;
>