Skip to contentSkip to conversation

arm64: kexec_file: Use struct_size() in kmalloc()

PATCH Applied Gustavo A. R. Silva 2 participants 2 messages Jun 17, 2020 – Jun 18, 2020 arm64

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 arm64: kexec_file: Use struct_size() in kmalloc()

Make use of the struct_size() helper instead of an open-coded version in order to avoid any potential type mistakes.

This code was detected with the help of Coccinelle and, audited and fixed manually.

---
 arch/arm64/kernel/machine_kexec_file.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)
arch/arm64/kernel/machine_kexec_file.c +1 -2
index 522e6f517ec0..361a1143e09e 100644
@@ -219,8 +219,7 @@ static int prepare_elf_headers(void **addr, unsigned long *sz)
 					MEMBLOCK_NONE, &start, &end, NULL)
 		nr_ranges++;
 
-	cmem = kmalloc(sizeof(struct crash_mem) +
-			sizeof(struct crash_mem_range) * nr_ranges, GFP_KERNEL);
+	cmem = kmalloc(struct_size(cmem, ranges, nr_ranges), GFP_KERNEL);
 	if (!cmem)
 		return -ENOMEM;
 
Signature · 1 line
2.27.0
maintainer Applied
#1 lore raw
Quoted 5 lines · Gustavo A. R. Silva

Make use of the struct_size() helper instead of an open-coded version in order to avoid any potential type mistakes.

This code was detected with the help of Coccinelle and, audited and fixed manually.

Applied to arm64 (for-next/fixes), thanks!

[1/1] arm64: kexec_file: Use struct_size() in kmalloc()

      https://git.kernel.org/arm64/c/bf508ec95ca3

Cheers,

Signature · 5 lines
Will

https://fixes.arm64.dev
https://next.arm64.dev
https://will.arm64.dev