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

From: Chen Zhongjin
Date: Fri Nov 04 2022 - 05:47:21 EST


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 <liaochang1@xxxxxxxxxx>
Cc: Chen Zhongjin <chenzhongjin@xxxxxxxxxx>
---
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 <chenzhongjin@xxxxxxxxxx>


Thanks.