Messages in this thread Patch in this message | | | Date | Fri, 24 Jan 2020 10:17:04 -0500 | From | Steven Rostedt <> | Subject | [for-next][PATCH 13/14] tracing: Fix uninitialized buffer var on early exit to trace_vbprintk() |
| |
From: "Steven Rostedt (VMware)" <rostedt@goodmis.org>
If we exit due to a bad input to trace_printk() (highly unlikely), then the buffer variable will not be initialized when we unnest the ring buffer.
Reported-by: kbuild test robot <lkp@intel.com> Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org> --- 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 2e1db19dce97..d1410b4462ac 100644 --- a/kernel/trace/trace.c +++ b/kernel/trace/trace.c @@ -3230,7 +3230,7 @@ int trace_vbprintk(unsigned long ip, const char *fmt, va_list args) len = vbin_printf((u32 *)tbuffer, TRACE_BUF_SIZE/sizeof(int), fmt, args); if (len > TRACE_BUF_SIZE/sizeof(int) || len < 0) - goto out; + goto out_put; local_save_flags(flags); size = sizeof(*entry) + sizeof(u32) * len; @@ -3252,6 +3252,7 @@ int trace_vbprintk(unsigned long ip, const char *fmt, va_list args) out: ring_buffer_nest_end(buffer); +out_put: put_trace_buf(); out_nobuffer: -- 2.24.1
| |