lkml.org 
[lkml]   [2008]   [Jul]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[PATCH 2/2] rcu: trace fix possible mem-leak
    In the initialization of the RCU trace module, if
    rcupreempt_debugfs_init() fails, we never free the the trace buffer.

    This patch frees the trace buffer in case the debugfs fails.

    Signed-off-by: Steven Rostedt <srostedt@redhat.com>
    ---
    kernel/rcupreempt_trace.c | 7 ++++++-
    1 file changed, 6 insertions(+), 1 deletion(-)

    Index: linux-compile.git/kernel/rcupreempt_trace.c
    ===================================================================
    --- linux-compile.git.orig/kernel/rcupreempt_trace.c 2008-07-15 23:55:47.000000000 -0400
    +++ linux-compile.git/kernel/rcupreempt_trace.c 2008-07-30 13:58:41.000000000 -0400
    @@ -308,11 +308,16 @@ out:

    static int __init rcupreempt_trace_init(void)
    {
    + int ret;
    +
    mutex_init(&rcupreempt_trace_mutex);
    rcupreempt_trace_buf = kmalloc(RCUPREEMPT_TRACE_BUF_SIZE, GFP_KERNEL);
    if (!rcupreempt_trace_buf)
    return 1;
    - return rcupreempt_debugfs_init();
    + ret = rcupreempt_debugfs_init();
    + if (ret)
    + kfree(rcupreempt_trace_buf);
    + return ret;
    }

    static void __exit rcupreempt_trace_cleanup(void)
    --


    \
     
     \ /
      Last update: 2008-07-30 20:25    [W:0.020 / U:59.948 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site