lkml.org 
[lkml]   [2020]   [Jan]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    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

    \
     
     \ /
      Last update: 2020-01-24 16:18    [W:3.122 / U:0.052 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site