Re: [RESEND PATCH] x86/sgx: Use vmalloc_array() instead of vmalloc()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





On 27/10/2024 12:32 am, Thorsten Blum wrote:
Use vmalloc_array() instead of vmalloc() to calculate the number of
bytes to allocate.

This says nothing about _why_. Is it because we want to take advantage of the multiplication overflow check inside the vmalloc_array()?

I don't know whether it is implied we should always use vmalloc_array() for array allocation like this, i.e., when we see vmalloc() is used for array allocation in the kernel we can just write a patch to replace it with vmalloc_array() and send to upstream.

I am fine with the code change, though. So if you can add one more sentence to explain why (it's always good to do so), feel free to add:

Acked-by: Kai Huang <kai.huang@xxxxxxxxx>


Reviewed-by: Jarkko Sakkinen <jarkko@xxxxxxxxxx>
Signed-off-by: Thorsten Blum <thorsten.blum@xxxxxxxxx>
---
  arch/x86/kernel/cpu/sgx/main.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/x86/kernel/cpu/sgx/main.c b/arch/x86/kernel/cpu/sgx/main.c
index 9ace84486499..1a59e5956f4b 100644
--- a/arch/x86/kernel/cpu/sgx/main.c
+++ b/arch/x86/kernel/cpu/sgx/main.c
@@ -630,7 +630,7 @@ static bool __init sgx_setup_epc_section(u64 phys_addr, u64 size,
  	if (!section->virt_addr)
  		return false;
- section->pages = vmalloc(nr_pages * sizeof(struct sgx_epc_page));
+	section->pages = vmalloc_array(nr_pages, sizeof(struct sgx_epc_page));
  	if (!section->pages) {
  		memunmap(section->virt_addr);
  		return false;





[Index of Archives]     [AMD Graphics]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux