lkml.org 
[lkml]   [2012]   [Feb]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[tip:perf/urgent] perf/hwbp: Fix a possible memory leak
    Commit-ID:  30ce2f7eef095d1b8d070740f1948629814fe3c7
    Gitweb: http://git.kernel.org/tip/30ce2f7eef095d1b8d070740f1948629814fe3c7
    Author: Namhyung Kim <namhyung.kim@lge.com>
    AuthorDate: Tue, 28 Feb 2012 10:19:38 +0900
    Committer: Ingo Molnar <mingo@elte.hu>
    CommitDate: Tue, 28 Feb 2012 09:52:54 +0100

    perf/hwbp: Fix a possible memory leak

    If kzalloc() for TYPE_DATA failed on a given cpu, previous chunk
    of TYPE_INST will be leaked. Fix it.

    Thanks to Peter Zijlstra for suggesting this better solution. It
    should work as long as the initial value of the region is all
    0's and that's the case of static (per-cpu) memory allocation.

    Signed-off-by: Namhyung Kim <namhyung.kim@lge.com>
    Acked-by: Frederic Weisbecker <fweisbec@gmail.com>
    Acked-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
    Cc: Paul Mackerras <paulus@samba.org>
    Cc: Arnaldo Carvalho de Melo <acme@ghostprotocols.net>
    Link: http://lkml.kernel.org/r/1330391978-28070-1-git-send-email-namhyung.kim@lge.com
    Signed-off-by: Ingo Molnar <mingo@elte.hu>
    ---
    kernel/events/hw_breakpoint.c | 4 ++--
    1 files changed, 2 insertions(+), 2 deletions(-)

    diff --git a/kernel/events/hw_breakpoint.c b/kernel/events/hw_breakpoint.c
    index b7971d6..ee706ce 100644
    --- a/kernel/events/hw_breakpoint.c
    +++ b/kernel/events/hw_breakpoint.c
    @@ -651,10 +651,10 @@ int __init init_hw_breakpoint(void)

    err_alloc:
    for_each_possible_cpu(err_cpu) {
    - if (err_cpu == cpu)
    - break;
    for (i = 0; i < TYPE_MAX; i++)
    kfree(per_cpu(nr_task_bp_pinned[i], cpu));
    + if (err_cpu == cpu)
    + break;
    }

    return -ENOMEM;

    \
     
     \ /
      Last update: 2012-02-28 10:17    [W:0.023 / U:154.536 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site