* [PATCH 2/2] RISC-V: kexec: Fix memory leak of elf header buffer
2022-11-04 9:56 [PATCH 1/2] RISC-V: kexec: Fix memory leak of fdt buffer Li Huafei
@ 2022-11-04 9:56 ` Li Huafei
2022-11-04 12:51 ` Conor Dooley
2022-11-04 12:50 ` [PATCH 1/2] RISC-V: kexec: Fix memory leak of fdt buffer Conor Dooley
` (3 subsequent siblings)
4 siblings, 1 reply; 9+ messages in thread
From: Li Huafei @ 2022-11-04 9:56 UTC (permalink / raw)
To: paul.walmsley, palmer, aou, lizhengyu3, liaochang1,
u.kleine-koenig, rdunlap
Cc: linux-riscv, linux-kernel, kexec, lihuafei1
This is reported by kmemleak detector:
unreferenced object 0xff2000000403d000 (size 4096):
comm "kexec", pid 146, jiffies 4294900633 (age 64.792s)
hex dump (first 32 bytes):
7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00 .ELF............
04 00 f3 00 01 00 00 00 00 00 00 00 00 00 00 00 ................
backtrace:
[<00000000566ca97c>] kmemleak_vmalloc+0x3c/0xbe
[<00000000979283d8>] __vmalloc_node_range+0x3ac/0x560
[<00000000b4b3712a>] __vmalloc_node+0x56/0x62
[<00000000854f75e2>] vzalloc+0x2c/0x34
[<00000000e9a00db9>] crash_prepare_elf64_headers+0x80/0x30c
[<0000000067e8bf48>] elf_kexec_load+0x3e8/0x4ec
[<0000000036548e09>] kexec_image_load_default+0x40/0x4c
[<0000000079fbe1b4>] sys_kexec_file_load+0x1c4/0x322
[<0000000040c62c03>] ret_from_syscall+0x0/0x2
In elf_kexec_load(), a buffer is allocated via vzalloc() to store elf
headers. While it's not freed back to system when kdump kernel is
reloaded or unloaded, or when image->elf_header is successfully set and
then fails to load kdump kernel for some reason. Fix it by freeing the
buffer in arch_kimage_file_post_load_cleanup().
Fixes: 8acea455fafa ("RISC-V: Support for kexec_file on panic")
Signed-off-by: Li Huafei <lihuafei1@huawei.com>
---
arch/riscv/kernel/elf_kexec.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/arch/riscv/kernel/elf_kexec.c b/arch/riscv/kernel/elf_kexec.c
index ff30fcb43f47..5372b708fae2 100644
--- a/arch/riscv/kernel/elf_kexec.c
+++ b/arch/riscv/kernel/elf_kexec.c
@@ -26,6 +26,10 @@ int arch_kimage_file_post_load_cleanup(struct kimage *image)
kvfree(image->arch.fdt);
image->arch.fdt = NULL;
+ vfree(image->elf_headers);
+ image->elf_headers = NULL;
+ image->elf_headers_sz = 0;
+
return kexec_image_post_load_cleanup_default(image);
}
--
2.17.1
_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv
^ permalink raw reply related [flat|nested] 9+ messages in thread* Re: [PATCH 2/2] RISC-V: kexec: Fix memory leak of elf header buffer
2022-11-04 9:56 ` [PATCH 2/2] RISC-V: kexec: Fix memory leak of elf header buffer Li Huafei
@ 2022-11-04 12:51 ` Conor Dooley
0 siblings, 0 replies; 9+ messages in thread
From: Conor Dooley @ 2022-11-04 12:51 UTC (permalink / raw)
To: Li Huafei
Cc: paul.walmsley, palmer, aou, lizhengyu3, liaochang1,
u.kleine-koenig, rdunlap, linux-riscv, linux-kernel, kexec
Again, echos arm64's cleanup.
Reviewed-by: Conor Dooley <conor.dooley@microchip.com>
_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH 1/2] RISC-V: kexec: Fix memory leak of fdt buffer
2022-11-04 9:56 [PATCH 1/2] RISC-V: kexec: Fix memory leak of fdt buffer Li Huafei
2022-11-04 9:56 ` [PATCH 2/2] RISC-V: kexec: Fix memory leak of elf header buffer Li Huafei
@ 2022-11-04 12:50 ` Conor Dooley
2022-11-07 1:30 ` liaochang (A)
` (2 subsequent siblings)
4 siblings, 0 replies; 9+ messages in thread
From: Conor Dooley @ 2022-11-04 12:50 UTC (permalink / raw)
To: Li Huafei
Cc: paul.walmsley, palmer, aou, lizhengyu3, liaochang1,
u.kleine-koenig, rdunlap, linux-riscv, linux-kernel, kexec
On Fri, Nov 04, 2022 at 05:56:57PM +0800, Li Huafei wrote:
> This is reported by kmemleak detector:
>
> unreferenced object 0xff60000082864000 (size 9588):
> comm "kexec", pid 146, jiffies 4294900634 (age 64.788s)
> hex dump (first 32 bytes):
> d0 0d fe ed 00 00 12 ed 00 00 00 48 00 00 11 40 ...........H...@
> 00 00 00 28 00 00 00 11 00 00 00 02 00 00 00 00 ...(............
> backtrace:
> [<00000000f95b17c4>] kmemleak_alloc+0x34/0x3e
> [<00000000b9ec8e3e>] kmalloc_order+0x9c/0xc4
> [<00000000a95cf02e>] kmalloc_order_trace+0x34/0xb6
> [<00000000f01e68b4>] __kmalloc+0x5c2/0x62a
> [<000000002bd497b2>] kvmalloc_node+0x66/0xd6
> [<00000000906542fa>] of_kexec_alloc_and_setup_fdt+0xa6/0x6ea
> [<00000000e1166bde>] elf_kexec_load+0x206/0x4ec
> [<0000000036548e09>] kexec_image_load_default+0x40/0x4c
> [<0000000079fbe1b4>] sys_kexec_file_load+0x1c4/0x322
> [<0000000040c62c03>] ret_from_syscall+0x0/0x2
>
> In elf_kexec_load(), a buffer is allocated via kvmalloc() to store fdt.
> While it's not freed back to system when kexec kernel is reloaded or
> unloaded. Then memory leak is caused. Fix it by introducing riscv
> specific function arch_kimage_file_post_load_cleanup(), and freeing the
> buffer there.
>
> Fixes: 6261586e0c91 ("RISC-V: Add kexec_file support")
> Signed-off-by: Li Huafei <lihuafei1@huawei.com>
Both of these bits of cleanup seem to echo what's the case on arm64.
Seems reasonable to me..
Reviewed-by: Conor Dooley <conor.dooley@microchip.com>
> ---
> arch/riscv/include/asm/kexec.h | 5 +++++
> arch/riscv/kernel/elf_kexec.c | 10 ++++++++++
> 2 files changed, 15 insertions(+)
>
> diff --git a/arch/riscv/include/asm/kexec.h b/arch/riscv/include/asm/kexec.h
> index eee260e8ab30..2b56769cb530 100644
> --- a/arch/riscv/include/asm/kexec.h
> +++ b/arch/riscv/include/asm/kexec.h
> @@ -39,6 +39,7 @@ crash_setup_regs(struct pt_regs *newregs,
> #define ARCH_HAS_KIMAGE_ARCH
>
> struct kimage_arch {
> + void *fdt; /* For CONFIG_KEXEC_FILE */
> unsigned long fdt_addr;
> };
>
> @@ -62,6 +63,10 @@ int arch_kexec_apply_relocations_add(struct purgatory_info *pi,
> const Elf_Shdr *relsec,
> const Elf_Shdr *symtab);
> #define arch_kexec_apply_relocations_add arch_kexec_apply_relocations_add
> +
> +struct kimage;
> +int arch_kimage_file_post_load_cleanup(struct kimage *image);
> +#define arch_kimage_file_post_load_cleanup arch_kimage_file_post_load_cleanup
> #endif
>
> #endif
> diff --git a/arch/riscv/kernel/elf_kexec.c b/arch/riscv/kernel/elf_kexec.c
> index 0cb94992c15b..ff30fcb43f47 100644
> --- a/arch/riscv/kernel/elf_kexec.c
> +++ b/arch/riscv/kernel/elf_kexec.c
> @@ -21,6 +21,14 @@
> #include <linux/memblock.h>
> #include <asm/setup.h>
>
> +int arch_kimage_file_post_load_cleanup(struct kimage *image)
> +{
> + kvfree(image->arch.fdt);
> + image->arch.fdt = NULL;
> +
> + return kexec_image_post_load_cleanup_default(image);
> +}
> +
> static int riscv_kexec_elf_load(struct kimage *image, struct elfhdr *ehdr,
> struct kexec_elf_info *elf_info, unsigned long old_pbase,
> unsigned long new_pbase)
> @@ -298,6 +306,8 @@ static void *elf_kexec_load(struct kimage *image, char *kernel_buf,
> pr_err("Error add DTB kbuf ret=%d\n", ret);
> goto out_free_fdt;
> }
> + /* Cache the fdt buffer address for memory cleanup */
> + image->arch.fdt = fdt;
> pr_notice("Loaded device tree at 0x%lx\n", kbuf.mem);
> goto out;
>
> --
> 2.17.1
>
_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv
^ permalink raw reply [flat|nested] 9+ messages in thread* Re: [PATCH 1/2] RISC-V: kexec: Fix memory leak of fdt buffer
2022-11-04 9:56 [PATCH 1/2] RISC-V: kexec: Fix memory leak of fdt buffer Li Huafei
2022-11-04 9:56 ` [PATCH 2/2] RISC-V: kexec: Fix memory leak of elf header buffer Li Huafei
2022-11-04 12:50 ` [PATCH 1/2] RISC-V: kexec: Fix memory leak of fdt buffer Conor Dooley
@ 2022-11-07 1:30 ` liaochang (A)
2022-12-05 22:28 ` Palmer Dabbelt
2022-12-05 22:40 ` patchwork-bot+linux-riscv
4 siblings, 0 replies; 9+ messages in thread
From: liaochang (A) @ 2022-11-07 1:30 UTC (permalink / raw)
To: Li Huafei, paul.walmsley, palmer, aou, lizhengyu3,
u.kleine-koenig, rdunlap
Cc: linux-riscv, linux-kernel, kexec
在 2022/11/4 17:56, Li Huafei 写道:
> This is reported by kmemleak detector:
>
> unreferenced object 0xff60000082864000 (size 9588):
> comm "kexec", pid 146, jiffies 4294900634 (age 64.788s)
> hex dump (first 32 bytes):
> d0 0d fe ed 00 00 12 ed 00 00 00 48 00 00 11 40 ...........H...@
> 00 00 00 28 00 00 00 11 00 00 00 02 00 00 00 00 ...(............
> backtrace:
> [<00000000f95b17c4>] kmemleak_alloc+0x34/0x3e
> [<00000000b9ec8e3e>] kmalloc_order+0x9c/0xc4
> [<00000000a95cf02e>] kmalloc_order_trace+0x34/0xb6
> [<00000000f01e68b4>] __kmalloc+0x5c2/0x62a
> [<000000002bd497b2>] kvmalloc_node+0x66/0xd6
> [<00000000906542fa>] of_kexec_alloc_and_setup_fdt+0xa6/0x6ea
> [<00000000e1166bde>] elf_kexec_load+0x206/0x4ec
> [<0000000036548e09>] kexec_image_load_default+0x40/0x4c
> [<0000000079fbe1b4>] sys_kexec_file_load+0x1c4/0x322
> [<0000000040c62c03>] ret_from_syscall+0x0/0x2
>
> In elf_kexec_load(), a buffer is allocated via kvmalloc() to store fdt.
> While it's not freed back to system when kexec kernel is reloaded or
> unloaded. Then memory leak is caused. Fix it by introducing riscv
> specific function arch_kimage_file_post_load_cleanup(), and freeing the
> buffer there.
>
> Fixes: 6261586e0c91 ("RISC-V: Add kexec_file support")
> Signed-off-by: Li Huafei <lihuafei1@huawei.com>
> ---
> arch/riscv/include/asm/kexec.h | 5 +++++
> arch/riscv/kernel/elf_kexec.c | 10 ++++++++++
> 2 files changed, 15 insertions(+)
>
> diff --git a/arch/riscv/include/asm/kexec.h b/arch/riscv/include/asm/kexec.h
> index eee260e8ab30..2b56769cb530 100644
> --- a/arch/riscv/include/asm/kexec.h
> +++ b/arch/riscv/include/asm/kexec.h
> @@ -39,6 +39,7 @@ crash_setup_regs(struct pt_regs *newregs,
> #define ARCH_HAS_KIMAGE_ARCH
>
> struct kimage_arch {
> + void *fdt; /* For CONFIG_KEXEC_FILE */
> unsigned long fdt_addr;
> };
>
> @@ -62,6 +63,10 @@ int arch_kexec_apply_relocations_add(struct purgatory_info *pi,
> const Elf_Shdr *relsec,
> const Elf_Shdr *symtab);
> #define arch_kexec_apply_relocations_add arch_kexec_apply_relocations_add
> +
> +struct kimage;
> +int arch_kimage_file_post_load_cleanup(struct kimage *image);
> +#define arch_kimage_file_post_load_cleanup arch_kimage_file_post_load_cleanup
> #endif
>
> #endif
> diff --git a/arch/riscv/kernel/elf_kexec.c b/arch/riscv/kernel/elf_kexec.c
> index 0cb94992c15b..ff30fcb43f47 100644
> --- a/arch/riscv/kernel/elf_kexec.c
> +++ b/arch/riscv/kernel/elf_kexec.c
> @@ -21,6 +21,14 @@
> #include <linux/memblock.h>
> #include <asm/setup.h>
>
> +int arch_kimage_file_post_load_cleanup(struct kimage *image)
> +{
> + kvfree(image->arch.fdt);
> + image->arch.fdt = NULL;
> +
> + return kexec_image_post_load_cleanup_default(image);
> +}
Good catch,LGTM
Reviewed-by: Liao Chang <liaochang1@huawei.com>
> +
> static int riscv_kexec_elf_load(struct kimage *image, struct elfhdr *ehdr,
> struct kexec_elf_info *elf_info, unsigned long old_pbase,
> unsigned long new_pbase)
> @@ -298,6 +306,8 @@ static void *elf_kexec_load(struct kimage *image, char *kernel_buf,
> pr_err("Error add DTB kbuf ret=%d\n", ret);
> goto out_free_fdt;
> }
> + /* Cache the fdt buffer address for memory cleanup */
> + image->arch.fdt = fdt;
> pr_notice("Loaded device tree at 0x%lx\n", kbuf.mem);
> goto out;
>
--
BR,
Liao, Chang
_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv
^ permalink raw reply [flat|nested] 9+ messages in thread* Re: [PATCH 1/2] RISC-V: kexec: Fix memory leak of fdt buffer
2022-11-04 9:56 [PATCH 1/2] RISC-V: kexec: Fix memory leak of fdt buffer Li Huafei
` (2 preceding siblings ...)
2022-11-07 1:30 ` liaochang (A)
@ 2022-12-05 22:28 ` Palmer Dabbelt
2022-12-07 1:24 ` Li Huafei
2022-12-07 1:25 ` Li Huafei
2022-12-05 22:40 ` patchwork-bot+linux-riscv
4 siblings, 2 replies; 9+ messages in thread
From: Palmer Dabbelt @ 2022-12-05 22:28 UTC (permalink / raw)
To: aou, liaochang1, rdunlap, u.kleine-koenig, Paul Walmsley,
lizhengyu3, Li Huafei, Palmer Dabbelt
Cc: linux-kernel, linux-riscv, kexec
On Fri, 4 Nov 2022 17:56:57 +0800, Li Huafei wrote:
> This is reported by kmemleak detector:
>
> unreferenced object 0xff60000082864000 (size 9588):
> comm "kexec", pid 146, jiffies 4294900634 (age 64.788s)
> hex dump (first 32 bytes):
> d0 0d fe ed 00 00 12 ed 00 00 00 48 00 00 11 40 ...........H...@
> 00 00 00 28 00 00 00 11 00 00 00 02 00 00 00 00 ...(............
> backtrace:
> [<00000000f95b17c4>] kmemleak_alloc+0x34/0x3e
> [<00000000b9ec8e3e>] kmalloc_order+0x9c/0xc4
> [<00000000a95cf02e>] kmalloc_order_trace+0x34/0xb6
> [<00000000f01e68b4>] __kmalloc+0x5c2/0x62a
> [<000000002bd497b2>] kvmalloc_node+0x66/0xd6
> [<00000000906542fa>] of_kexec_alloc_and_setup_fdt+0xa6/0x6ea
> [<00000000e1166bde>] elf_kexec_load+0x206/0x4ec
> [<0000000036548e09>] kexec_image_load_default+0x40/0x4c
> [<0000000079fbe1b4>] sys_kexec_file_load+0x1c4/0x322
> [<0000000040c62c03>] ret_from_syscall+0x0/0x2
>
> [...]
Applied, thanks!
[1/2] RISC-V: kexec: Fix memory leak of fdt buffer
https://git.kernel.org/palmer/c/96df59b1ae23
[2/2] RISC-V: kexec: Fix memory leak of elf header buffer
https://git.kernel.org/palmer/c/cbc32023ddbd
These are on for-next. They'd probably be fine fixes candidates had I gotten
to them in time, but it's pretty late and a leak during kexec doesn't seem like
a show-stopper. They'll get backported anyway, but this way they get an extra
week in linux-next just to see.
Best regards,
--
Palmer Dabbelt <palmer@rivosinc.com>
_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv
^ permalink raw reply [flat|nested] 9+ messages in thread* Re: [PATCH 1/2] RISC-V: kexec: Fix memory leak of fdt buffer
2022-12-05 22:28 ` Palmer Dabbelt
@ 2022-12-07 1:24 ` Li Huafei
2022-12-07 1:25 ` Li Huafei
1 sibling, 0 replies; 9+ messages in thread
From: Li Huafei @ 2022-12-07 1:24 UTC (permalink / raw)
To: Palmer Dabbelt, aou, liaochang1, rdunlap, u.kleine-koenig,
Paul Walmsley, lizhengyu3, Palmer Dabbelt
Cc: linux-kernel, linux-riscv, kexec
On 2022/12/6 6:28, Palmer Dabbelt wrote:
> On Fri, 4 Nov 2022 17:56:57 +0800, Li Huafei wrote:
>> This is reported by kmemleak detector:
>>
>> unreferenced object 0xff60000082864000 (size 9588):
>> comm "kexec", pid 146, jiffies 4294900634 (age 64.788s)
>> hex dump (first 32 bytes):
>> d0 0d fe ed 00 00 12 ed 00 00 00 48 00 00 11 40 ...........H...@
>> 00 00 00 28 00 00 00 11 00 00 00 02 00 00 00 00 ...(............
>> backtrace:
>> [<00000000f95b17c4>] kmemleak_alloc+0x34/0x3e
>> [<00000000b9ec8e3e>] kmalloc_order+0x9c/0xc4
>> [<00000000a95cf02e>] kmalloc_order_trace+0x34/0xb6
>> [<00000000f01e68b4>] __kmalloc+0x5c2/0x62a
>> [<000000002bd497b2>] kvmalloc_node+0x66/0xd6
>> [<00000000906542fa>] of_kexec_alloc_and_setup_fdt+0xa6/0x6ea
>> [<00000000e1166bde>] elf_kexec_load+0x206/0x4ec
>> [<0000000036548e09>] kexec_image_load_default+0x40/0x4c
>> [<0000000079fbe1b4>] sys_kexec_file_load+0x1c4/0x322
>> [<0000000040c62c03>] ret_from_syscall+0x0/0x2
>>
>> [...]
>
> Applied, thanks!
>
> [1/2] RISC-V: kexec: Fix memory leak of fdt buffer
> https://git.kernel.org/palmer/c/96df59b1ae23
> [2/2] RISC-V: kexec: Fix memory leak of elf header buffer
> https://git.kernel.org/palmer/c/cbc32023ddbd
>
> These are on for-next. They'd probably be fine fixes candidates had I gotten
> to them in time, but it's pretty late and a leak during kexec doesn't seem like
> a show-stopper. They'll get backported anyway, but this way they get an extra
> week in linux-next just to see.
>
I have no problem with it being merged into the -next branch. Thanks Palmer!
> Best regards,
>
_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH 1/2] RISC-V: kexec: Fix memory leak of fdt buffer
2022-12-05 22:28 ` Palmer Dabbelt
2022-12-07 1:24 ` Li Huafei
@ 2022-12-07 1:25 ` Li Huafei
1 sibling, 0 replies; 9+ messages in thread
From: Li Huafei @ 2022-12-07 1:25 UTC (permalink / raw)
To: Palmer Dabbelt, aou, liaochang1, rdunlap, u.kleine-koenig,
Paul Walmsley, lizhengyu3, Palmer Dabbelt
Cc: linux-kernel, linux-riscv, kexec
On 2022/12/6 6:28, Palmer Dabbelt wrote:
> On Fri, 4 Nov 2022 17:56:57 +0800, Li Huafei wrote:
>> This is reported by kmemleak detector:
>>
>> unreferenced object 0xff60000082864000 (size 9588):
>> comm "kexec", pid 146, jiffies 4294900634 (age 64.788s)
>> hex dump (first 32 bytes):
>> d0 0d fe ed 00 00 12 ed 00 00 00 48 00 00 11 40 ...........H...@
>> 00 00 00 28 00 00 00 11 00 00 00 02 00 00 00 00 ...(............
>> backtrace:
>> [<00000000f95b17c4>] kmemleak_alloc+0x34/0x3e
>> [<00000000b9ec8e3e>] kmalloc_order+0x9c/0xc4
>> [<00000000a95cf02e>] kmalloc_order_trace+0x34/0xb6
>> [<00000000f01e68b4>] __kmalloc+0x5c2/0x62a
>> [<000000002bd497b2>] kvmalloc_node+0x66/0xd6
>> [<00000000906542fa>] of_kexec_alloc_and_setup_fdt+0xa6/0x6ea
>> [<00000000e1166bde>] elf_kexec_load+0x206/0x4ec
>> [<0000000036548e09>] kexec_image_load_default+0x40/0x4c
>> [<0000000079fbe1b4>] sys_kexec_file_load+0x1c4/0x322
>> [<0000000040c62c03>] ret_from_syscall+0x0/0x2
>>
>> [...]
>
> Applied, thanks!
>
> [1/2] RISC-V: kexec: Fix memory leak of fdt buffer
> https://git.kernel.org/palmer/c/96df59b1ae23
> [2/2] RISC-V: kexec: Fix memory leak of elf header buffer
> https://git.kernel.org/palmer/c/cbc32023ddbd
>
> These are on for-next. They'd probably be fine fixes candidates had I gotten
> to them in time, but it's pretty late and a leak during kexec doesn't seem like
> a show-stopper. They'll get backported anyway, but this way they get an extra
> week in linux-next just to see.
>
I have no problem with it being merged into the -next branch. Thanks Palmer!
> Best regards,
>
_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH 1/2] RISC-V: kexec: Fix memory leak of fdt buffer
2022-11-04 9:56 [PATCH 1/2] RISC-V: kexec: Fix memory leak of fdt buffer Li Huafei
` (3 preceding siblings ...)
2022-12-05 22:28 ` Palmer Dabbelt
@ 2022-12-05 22:40 ` patchwork-bot+linux-riscv
4 siblings, 0 replies; 9+ messages in thread
From: patchwork-bot+linux-riscv @ 2022-12-05 22:40 UTC (permalink / raw)
To: Li Huafei
Cc: linux-riscv, paul.walmsley, palmer, aou, lizhengyu3, liaochang1,
u.kleine-koenig, rdunlap, linux-kernel, kexec
Hello:
This series was applied to riscv/linux.git (for-next)
by Palmer Dabbelt <palmer@rivosinc.com>:
On Fri, 4 Nov 2022 17:56:57 +0800 you wrote:
> This is reported by kmemleak detector:
>
> unreferenced object 0xff60000082864000 (size 9588):
> comm "kexec", pid 146, jiffies 4294900634 (age 64.788s)
> hex dump (first 32 bytes):
> d0 0d fe ed 00 00 12 ed 00 00 00 48 00 00 11 40 ...........H...@
> 00 00 00 28 00 00 00 11 00 00 00 02 00 00 00 00 ...(............
> backtrace:
> [<00000000f95b17c4>] kmemleak_alloc+0x34/0x3e
> [<00000000b9ec8e3e>] kmalloc_order+0x9c/0xc4
> [<00000000a95cf02e>] kmalloc_order_trace+0x34/0xb6
> [<00000000f01e68b4>] __kmalloc+0x5c2/0x62a
> [<000000002bd497b2>] kvmalloc_node+0x66/0xd6
> [<00000000906542fa>] of_kexec_alloc_and_setup_fdt+0xa6/0x6ea
> [<00000000e1166bde>] elf_kexec_load+0x206/0x4ec
> [<0000000036548e09>] kexec_image_load_default+0x40/0x4c
> [<0000000079fbe1b4>] sys_kexec_file_load+0x1c4/0x322
> [<0000000040c62c03>] ret_from_syscall+0x0/0x2
>
> [...]
Here is the summary with links:
- [1/2] RISC-V: kexec: Fix memory leak of fdt buffer
https://git.kernel.org/riscv/c/96df59b1ae23
- [2/2] RISC-V: kexec: Fix memory leak of elf header buffer
https://git.kernel.org/riscv/c/cbc32023ddbd
You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html
_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv
^ permalink raw reply [flat|nested] 9+ messages in thread