[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20260120112938.463596-1-iamhswang@gmail.com>
Date: Tue, 20 Jan 2026 19:28:54 +0800
From: iamhswang@...il.com
To: richard@....at,
anton.ivanov@...bridgegreys.com,
johannes@...solutions.net,
akpm@...ux-foundation.org,
dave.hansen@...ux.intel.com,
tiwei.btw@...group.com,
rppt@...nel.org,
kevin.brodsky@....com,
snovitoll@...il.com,
linux@...ssschuh.net
Cc: linux-um@...ts.infradead.org,
linux-kernel@...r.kernel.org,
iamhswang@...il.com
Subject: [PATCH 1/2] um: add uml_kmalloc_array() helper to avoid potential
From: Haisu Wang <iamhswang@...il.com>
Add uml_kmalloc_array to avoid potential dynamic multiplication
overflow. Since in Documentation/process/deprecated.rst,
the preferred way is avoid the open-coded arithmetic.
Signed-off-by: Haisu Wang <wanghs18@...natelecom.cn>
---
arch/um/include/shared/um_malloc.h | 1 +
arch/um/kernel/mem.c | 5 +++++
2 files changed, 6 insertions(+)
diff --git a/arch/um/include/shared/um_malloc.h b/arch/um/include/shared/um_malloc.h
index 815dd03e8707..a55a81131e10 100644
--- a/arch/um/include/shared/um_malloc.h
+++ b/arch/um/include/shared/um_malloc.h
@@ -9,6 +9,7 @@
#include <generated/asm-offsets.h>
extern void *uml_kmalloc(int size, int flags);
+extern void *uml_kmalloc_array(int count, int size, int flags);
extern void kfree(const void *ptr);
extern void *vmalloc_noprof(unsigned long size);
diff --git a/arch/um/kernel/mem.c b/arch/um/kernel/mem.c
index 39c4a7e21c6f..3bf9e9bef3bf 100644
--- a/arch/um/kernel/mem.c
+++ b/arch/um/kernel/mem.c
@@ -126,6 +126,11 @@ void *uml_kmalloc(int size, int flags)
return kmalloc(size, flags);
}
+void *uml_kmalloc_array(int count, int size, int flags)
+{
+ return kmalloc_array(count, size, flags);
+}
+
static const pgprot_t protection_map[16] = {
[VM_NONE] = PAGE_NONE,
[VM_READ] = PAGE_READONLY,
--
2.52.0
Powered by blists - more mailing lists