2022-11-03 01:31:46

by Liao, Chang

[permalink] [raw]
Subject: [PATCH] ARM: module: Reclaim the unwind list of module on kmalloc failed

When unwind table allocation failed, it needs to reclaim the unwind list
of module to avoid potential NULL pointer exception and memory leakage.

Fixes: b6f21d14f1ac ("ARM: 9204/2: module: Add all unwind tables when load module")
Signed-off-by: Liao Chang <[email protected]>
Cc: Chen Zhongjin <[email protected]>
---
arch/arm/kernel/module.c | 4 ++++
1 file changed, 4 insertions(+)

diff --git a/arch/arm/kernel/module.c b/arch/arm/kernel/module.c
index d59c36dc0494..cc637dcdcb10 100644
--- a/arch/arm/kernel/module.c
+++ b/arch/arm/kernel/module.c
@@ -485,6 +485,10 @@ int module_finalize(const Elf32_Ehdr *hdr, const Elf_Shdr *sechdrs,
s->sh_size,
txt_sec->sh_addr,
txt_sec->sh_size);
+ if (!table) {
+ module_arch_cleanup(mod);
+ return -ENOMEM;
+ }

list_add(&table->mod_list, unwind_list);

--
2.17.1



2022-11-04 10:01:16

by Chen Zhongjin

[permalink] [raw]
Subject: Re: [PATCH] ARM: module: Reclaim the unwind list of module on kmalloc failed

On 2022/11/3 9:17, Liao Chang wrote:
> When unwind table allocation failed, it needs to reclaim the unwind list
> of module to avoid potential NULL pointer exception and memory leakage.
>
> Fixes: b6f21d14f1ac ("ARM: 9204/2: module: Add all unwind tables when load module")
> Signed-off-by: Liao Chang <[email protected]>
> Cc: Chen Zhongjin <[email protected]>
> ---
> arch/arm/kernel/module.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/arch/arm/kernel/module.c b/arch/arm/kernel/module.c
> index d59c36dc0494..cc637dcdcb10 100644
> --- a/arch/arm/kernel/module.c
> +++ b/arch/arm/kernel/module.c
> @@ -485,6 +485,10 @@ int module_finalize(const Elf32_Ehdr *hdr, const Elf_Shdr *sechdrs,
> s->sh_size,
> txt_sec->sh_addr,
> txt_sec->sh_size);
> + if (!table) {
> + module_arch_cleanup(mod);
> + return -ENOMEM;
> + }
>
> list_add(&table->mod_list, unwind_list);
>

Looks good to me.

Reviewed-by: Chen Zhongjin <[email protected]>


Thanks.


2022-11-08 14:23:20

by Linus Walleij

[permalink] [raw]
Subject: Re: [PATCH] ARM: module: Reclaim the unwind list of module on kmalloc failed

On Thu, Nov 3, 2022 at 2:20 AM Liao Chang <[email protected]> wrote:

> When unwind table allocation failed, it needs to reclaim the unwind list
> of module to avoid potential NULL pointer exception and memory leakage.
>
> Fixes: b6f21d14f1ac ("ARM: 9204/2: module: Add all unwind tables when load module")
> Signed-off-by: Liao Chang <[email protected]>
> Cc: Chen Zhongjin <[email protected]>

Looks good to me:
Reviewed-by: Linus Walleij <[email protected]>

Please put this into Russells patch tracker.

Yours,
Linus Walleij