Re: [PATCH v3] proc/vmcore: fix potential memory leak in vmcore_init()

From: Matthew Wilcox
Date: Mon Jul 11 2022 - 08:18:57 EST


On Mon, Jul 11, 2022 at 03:49:51PM +0800, Baoquan He wrote:
> On 07/11/22 at 03:34pm, Jianglei Nie wrote:
> > 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() occurs some error and
> > returns a negetive value, the elfcorehdr_addr should be released with
> > elfcorehdr_free().
> >
> > We can fix by calling elfcorehdr_free() when parse_crash_elf_headers()
> > fails.
> >
> > Signed-off-by: Jianglei Nie <niejianglei2021@xxxxxxx>
> > ---
> > fs/proc/vmcore.c | 5 ++++-
> > 1 file changed, 4 insertions(+), 1 deletion(-)
> >
> > diff --git a/fs/proc/vmcore.c b/fs/proc/vmcore.c
> > index 4eaeb645e759..125efe63f281 100644
> > --- a/fs/proc/vmcore.c
> > +++ b/fs/proc/vmcore.c
> > @@ -1569,7 +1569,7 @@ static int __init vmcore_init(void)
> > rc = parse_crash_elf_headers();
> > if (rc) {
> > pr_warn("Kdump: vmcore not initialized\n");
> > - return rc;
> > + goto fail;
>
> Sigh. Why don't you copy my suggested code directly?

I think at this point, you should just submit your own patch
and credit this person with Reported-by: