Message ID | 20210216033133.79543-4-tianjia.zhang@linux.alibaba.com |
---|---|
State | New |
Headers | show |
Series | Some optimizations related to sgx | expand |
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@linux.alibaba.com> >> Acked-by: Jarkko Sakkinen <jarkko@kernel.org> >> --- >> 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 >
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; + + list_add(&va_page->list, &encl->va_pages); /* The extra page goes to SECS. */ encl_size = secs->size + PAGE_SIZE;