public inbox for linux-riscv@lists.infradead.org
 help / color / mirror / Atom feed
* [PATCH 1/2] RISC-V: kexec: Fix memory leak of fdt buffer
@ 2022-11-04  9:56 Li Huafei
  2022-11-04  9:56 ` [PATCH 2/2] RISC-V: kexec: Fix memory leak of elf header buffer Li Huafei
                   ` (4 more replies)
  0 siblings, 5 replies; 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 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);
+}
+
 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 related	[flat|nested] 9+ messages in thread

* [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 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 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 ` [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-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

* 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

end of thread, other threads:[~2022-12-07  1:25 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
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:51   ` Conor Dooley
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-07  1:24   ` Li Huafei
2022-12-07  1:25   ` Li Huafei
2022-12-05 22:40 ` patchwork-bot+linux-riscv

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox