Message ID | 20210120035328.19868-1-tianjia.zhang@linux.alibaba.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [v2] x86/sgx: Remove redundant if conditions in sgx_encl_create | expand |
On Wed, Jan 20, 2021, 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. > > Reported-by: Jia Zhang <zhang.jia@linux.alibaba.com> > Suggested-by: Sean Christopherson <seanjc@google.com> > Signed-off-by: Tianjia Zhang <tianjia.zhang@linux.alibaba.com> > --- > arch/x86/kernel/cpu/sgx/ioctl.c | 9 ++++++--- > 1 file changed, 6 insertions(+), 3 deletions(-) > > diff --git a/arch/x86/kernel/cpu/sgx/ioctl.c b/arch/x86/kernel/cpu/sgx/ioctl.c > index 1c6ecf9fbeff..efad2fb61c76 100644 > --- a/arch/x86/kernel/cpu/sgx/ioctl.c > +++ b/arch/x86/kernel/cpu/sgx/ioctl.c > @@ -66,9 +66,12 @@ 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 (WARN_ONCE(!va_page, > + "the tail page of the VA page list had free slots\n")) IMO it's worth trimming down the message to keep this on a single line. The newline isn't necessary, and this code expects a completely empty list, e.g. it can be reworded to something like: if (WARN_ONCE(!va_page, "non-empty VA page list before ECREATE")) > + return -EIO; > + > + 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 >
On Wed, Jan 20, 2021 at 09:47:53AM -0800, Sean Christopherson wrote: > On Wed, Jan 20, 2021, 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. > > > > Reported-by: Jia Zhang <zhang.jia@linux.alibaba.com> > > Suggested-by: Sean Christopherson <seanjc@google.com> > > Signed-off-by: Tianjia Zhang <tianjia.zhang@linux.alibaba.com> > > --- > > arch/x86/kernel/cpu/sgx/ioctl.c | 9 ++++++--- > > 1 file changed, 6 insertions(+), 3 deletions(-) > > > > diff --git a/arch/x86/kernel/cpu/sgx/ioctl.c b/arch/x86/kernel/cpu/sgx/ioctl.c > > index 1c6ecf9fbeff..efad2fb61c76 100644 > > --- a/arch/x86/kernel/cpu/sgx/ioctl.c > > +++ b/arch/x86/kernel/cpu/sgx/ioctl.c > > @@ -66,9 +66,12 @@ 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 (WARN_ONCE(!va_page, > > + "the tail page of the VA page list had free slots\n")) > > IMO it's worth trimming down the message to keep this on a single line. The > newline isn't necessary, and this code expects a completely empty list, e.g. it > can be reworded to something like: > > if (WARN_ONCE(!va_page, "non-empty VA page list before ECREATE")) Agreed. If I recall correctly, these days you can have at least 100 characters per line (if not more, cannot recall the exact number). /Jarkko > > > + return -EIO; > > + > > + 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 > > >
On 1/21/21 1:47 AM, Sean Christopherson wrote: > On Wed, Jan 20, 2021, 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. >> >> Reported-by: Jia Zhang <zhang.jia@linux.alibaba.com> >> Suggested-by: Sean Christopherson <seanjc@google.com> >> Signed-off-by: Tianjia Zhang <tianjia.zhang@linux.alibaba.com> >> --- >> arch/x86/kernel/cpu/sgx/ioctl.c | 9 ++++++--- >> 1 file changed, 6 insertions(+), 3 deletions(-) >> >> diff --git a/arch/x86/kernel/cpu/sgx/ioctl.c b/arch/x86/kernel/cpu/sgx/ioctl.c >> index 1c6ecf9fbeff..efad2fb61c76 100644 >> --- a/arch/x86/kernel/cpu/sgx/ioctl.c >> +++ b/arch/x86/kernel/cpu/sgx/ioctl.c >> @@ -66,9 +66,12 @@ 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 (WARN_ONCE(!va_page, >> + "the tail page of the VA page list had free slots\n")) > > IMO it's worth trimming down the message to keep this on a single line. The > newline isn't necessary, and this code expects a completely empty list, e.g. it > can be reworded to something like: > > if (WARN_ONCE(!va_page, "non-empty VA page list before ECREATE")) > Thanks for your suggestion, I have resubmitted a set of patches. Best regards, Tianjia
diff --git a/arch/x86/kernel/cpu/sgx/ioctl.c b/arch/x86/kernel/cpu/sgx/ioctl.c index 1c6ecf9fbeff..efad2fb61c76 100644 --- a/arch/x86/kernel/cpu/sgx/ioctl.c +++ b/arch/x86/kernel/cpu/sgx/ioctl.c @@ -66,9 +66,12 @@ 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 (WARN_ONCE(!va_page, + "the tail page of the VA page list had free slots\n")) + return -EIO; + + list_add(&va_page->list, &encl->va_pages); /* The extra page goes to SECS. */ encl_size = secs->size + PAGE_SIZE;
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. Reported-by: Jia Zhang <zhang.jia@linux.alibaba.com> Suggested-by: Sean Christopherson <seanjc@google.com> Signed-off-by: Tianjia Zhang <tianjia.zhang@linux.alibaba.com> --- arch/x86/kernel/cpu/sgx/ioctl.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-)