lkml.org 
[lkml]   [2018]   [Feb]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Date
    Subject[PATCH 3.16 146/254] tracing: Fix possible double free on failure of allocating trace buffer
    3.16.55-rc1 review patch.  If anyone has any objections, please let me know.

    ------------------

    From: "Steven Rostedt (VMware)" <rostedt@goodmis.org>

    commit 4397f04575c44e1440ec2e49b6302785c95fd2f8 upstream.

    Jing Xia and Chunyan Zhang reported that on failing to allocate part of the
    tracing buffer, memory is freed, but the pointers that point to them are not
    initialized back to NULL, and later paths may try to free the freed memory
    again. Jing and Chunyan fixed one of the locations that does this, but
    missed a spot.

    Link: http://lkml.kernel.org/r/20171226071253.8968-1-chunyan.zhang@spreadtrum.com

    Fixes: 737223fbca3b1 ("tracing: Consolidate buffer allocation code")
    Reported-by: Jing Xia <jing.xia@spreadtrum.com>
    Reported-by: Chunyan Zhang <chunyan.zhang@spreadtrum.com>
    Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
    ---
    kernel/trace/trace.c | 1 +
    1 file changed, 1 insertion(+)

    --- a/kernel/trace/trace.c
    +++ b/kernel/trace/trace.c
    @@ -6220,6 +6220,7 @@ allocate_trace_buffer(struct trace_array
    buf->data = alloc_percpu(struct trace_array_cpu);
    if (!buf->data) {
    ring_buffer_free(buf->buffer);
    + buf->buffer = NULL;
    return -ENOMEM;
    }

    \
     
     \ /
      Last update: 2018-02-28 17:23    [W:4.133 / U:0.468 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site