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
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.
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