Re: [PATCH v8] LoongArch: kexec_file: Fix elf_headers memory leak in retry loop
From: Huacai Chen
Date: Sun Nov 08 2026 - 00:06:04 EST
Applied, thanks.
Huacai
On Thu, Nov 5, 2026 at 8:59 PM Jinjie Ruan <ruanjinjie@xxxxxxxxxx> wrote:
>
> A retry allocates new elf headers and overwrites image->elf_headers,
> leaking the previous buffer.
>
> Free it before assigning.
>
> Cc: Huacai Chen <chenhuacai@xxxxxxxxxx>
> Cc: WANG Xuerui <kernel@xxxxxxxxxx>
> Cc: Youling Tang <tangyouling@xxxxxxxxxx>
> Cc: Mike Rapoport (Microsoft) <rppt@xxxxxxxxxx>
> Cc: Sourabh Jain <sourabhjain@xxxxxxxxxxxxx>
> Cc: Kees Cook <kees@xxxxxxxxxx>
> Cc: stable@xxxxxxxxxxxxxxx
> Link: https://sashiko.dev/#/patchset/20260729031235.2840255-1-ruanjinjie%40huawei.com
> Fixes: 55d990f0084c ("LoongArch: Add EFI binary support for kexec_file")
> Signed-off-by: Jinjie Ruan <ruanjinjie@xxxxxxxxxx>
> ---
> v7 -> v8:
> - Split out from the patch set as Mike suggested.
> - Link to v7: https://lore.kernel.org/all/20261026075201.699550-1-ruanjinjie@xxxxxxxxxx/
> ---
> arch/loongarch/kernel/machine_kexec_file.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/arch/loongarch/kernel/machine_kexec_file.c b/arch/loongarch/kernel/machine_kexec_file.c
> index 5412aa9f3568..0fe60907b97f 100644
> --- a/arch/loongarch/kernel/machine_kexec_file.c
> +++ b/arch/loongarch/kernel/machine_kexec_file.c
> @@ -166,6 +166,10 @@ int load_other_segments(struct kimage *image,
> vfree(headers);
> goto out_err;
> }
> +
> + if (unlikely(image->elf_headers))
> + vfree(image->elf_headers);
> +
> image->elf_headers = headers;
> image->elf_load_addr = kbuf.mem;
> image->elf_headers_sz = headers_sz;
> --
> 2.34.1
>