Re: [PATCH v5 3/3] x86/sgx: Remove redundant if conditions in sgx_encl_create

From: Tianjia Zhang
Date: Wed Feb 24 2021 - 04:33:20 EST




On 2/16/21 4:29 PM, Jarkko Sakkinen wrote:
On Tue, Feb 16, 2021 at 11:31:33AM +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>
Acked-by: Jarkko Sakkinen <jarkko@xxxxxxxxxx>
---
arch/x86/kernel/cpu/sgx/ioctl.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/arch/x86/kernel/cpu/sgx/ioctl.c b/arch/x86/kernel/cpu/sgx/ioctl.c
index 1c6ecf9fbeff..719c21cca569 100644
--- a/arch/x86/kernel/cpu/sgx/ioctl.c
+++ b/arch/x86/kernel/cpu/sgx/ioctl.c
@@ -66,9 +66,10 @@ 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. */
+ if (!va_page)
+ return -EIO;

Why this check?


The value of va_page may be a negative error value, it may be NULL, or it may be a valid pointer, so check this return value.

Tianjia

+
+ list_add(&va_page->list, &encl->va_pages);
/* The extra page goes to SECS. */
encl_size = secs->size + PAGE_SIZE;
--
2.19.1.3.ge56e4f7



/Jarkko