lkml.org 
[lkml]   [2008]   [Aug]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 2/2] rcu: trace fix possible mem-leak
On Wed, Jul 30, 2008 at 02:20:55PM -0400, Steven Rostedt wrote:
> 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.

Looks good as well!

Reviewed-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>

> 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-08-01 23:23    [W:0.079 / U:0.076 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site