Re: [PATCH v3 5/5] x86/sgx: Remove redundant if conditions in sgx_encl_create

From: Tianjia Zhang
Date: Mon Feb 01 2021 - 07:41:07 EST




On 1/30/21 10:33 PM, Jarkko Sakkinen wrote:
On Sun, Jan 24, 2021 at 02:29:07PM +0800, Tianjia Zhang wrote:
In this scenario, there is no case where va_page is NULL, and
the error has been checked. The if condition statement here is
redundant, so remove the condition detection.

Signed-off-by: Tianjia Zhang <tianjia.zhang@xxxxxxxxxxxxxxxxx>
---
arch/x86/kernel/cpu/sgx/ioctl.c | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/arch/x86/kernel/cpu/sgx/ioctl.c b/arch/x86/kernel/cpu/sgx/ioctl.c
index 1c6ecf9fbeff..b0b829f1b761 100644
--- a/arch/x86/kernel/cpu/sgx/ioctl.c
+++ b/arch/x86/kernel/cpu/sgx/ioctl.c
@@ -66,9 +66,11 @@ static int sgx_encl_create(struct sgx_encl *encl, struct sgx_secs *secs)
va_page = sgx_encl_grow(encl);
if (IS_ERR(va_page))
return PTR_ERR(va_page);
- else if (va_page)
- list_add(&va_page->list, &encl->va_pages);
- /* else the tail page of the VA page list had free slots. */

This is fine. The check does not make sense.

+
+ if (WARN_ONCE(!va_page, "non-empty VA page list before ECREATE"))
+ return -EIO;

No need for this WARN_ONCE().

+
+ list_add(&va_page->list, &encl->va_pages);

This is fine.

/* The extra page goes to SECS. */
encl_size = secs->size + PAGE_SIZE;
--
2.19.1.3.ge56e4f7



/Jarkko


Will be improved in the next version.

Thanks,
Tianjia