lkml.org 
[lkml]   [2022]   [Dec]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH AUTOSEL 4.9 5/8] proc/vmcore: fix potential memory leak in vmcore_init()
    Date
    From: Jianglei Nie <niejianglei2021@163.com>

    [ Upstream commit 12b9d301ff73122aebd78548fa4c04ca69ed78fe ]

    Patch series "Some minor cleanup patches resent".

    The first three patches trivial clean up patches.

    And for the patch "kexec: replace crash_mem_range with range", I got a
    ibm-p9wr ppc64le system to test, it works well.

    This patch (of 4):

    elfcorehdr_alloc() allocates a memory chunk for elfcorehdr_addr with
    kzalloc(). If is_vmcore_usable() returns false, elfcorehdr_addr is a
    predefined value. If parse_crash_elf_headers() gets some error and
    returns a negetive value, the elfcorehdr_addr should be released with
    elfcorehdr_free().

    Fix it by calling elfcorehdr_free() when parse_crash_elf_headers() fails.

    Link: https://lkml.kernel.org/r/20220929042936.22012-1-bhe@redhat.com
    Link: https://lkml.kernel.org/r/20220929042936.22012-2-bhe@redhat.com
    Signed-off-by: Jianglei Nie <niejianglei2021@163.com>
    Signed-off-by: Baoquan He <bhe@redhat.com>
    Acked-by: Baoquan He <bhe@redhat.com>
    Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
    Cc: Chen Lifu <chenlifu@huawei.com>
    Cc: "Eric W . Biederman" <ebiederm@xmission.com>
    Cc: Li Chen <lchen@ambarella.com>
    Cc: Michael Ellerman <mpe@ellerman.id.au>
    Cc: Paul Mackerras <paulus@samba.org>
    Cc: Petr Mladek <pmladek@suse.com>
    Cc: Russell King <linux@armlinux.org.uk>
    Cc: ye xingchen <ye.xingchen@zte.com.cn>
    Cc: Zeal Robot <zealci@zte.com.cn>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    fs/proc/vmcore.c | 1 +
    1 file changed, 1 insertion(+)

    diff --git a/fs/proc/vmcore.c b/fs/proc/vmcore.c
    index e8b40835770c..76d60555d1c3 100644
    --- a/fs/proc/vmcore.c
    +++ b/fs/proc/vmcore.c
    @@ -1177,6 +1177,7 @@ static int __init vmcore_init(void)
    return rc;
    rc = parse_crash_elf_headers();
    if (rc) {
    + elfcorehdr_free(elfcorehdr_addr);
    pr_warn("Kdump: vmcore not initialized\n");
    return rc;
    }
    --
    2.35.1
    \
     
     \ /
      Last update: 2022-12-17 16:43    [W:2.336 / U:1.296 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site