Message ID | f2b46fd652450d9361577e63a8d4b0b85190c4a2.1643393473.git.reinette.chatre@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | selftests/sgx: Early enclave loading error path fixes | expand |
On 1/28/22 10:23, Reinette Chatre wrote: > It is not possible to build an enclave if it was not possible to load > the binary from which it should be constructed. Do not attempt > to make further progress but instead return with failure. > > Fixes: 1b35eb719549 ("selftests/sgx: Encpsulate the test enclave creation") > Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Acked-by: Dave Hansen <dave.hansen@linux.intel.com> > tools/testing/selftests/sgx/main.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/tools/testing/selftests/sgx/main.c b/tools/testing/selftests/sgx/main.c > index 370c4995f7c4..a7cd2c3e6f7e 100644 > --- a/tools/testing/selftests/sgx/main.c > +++ b/tools/testing/selftests/sgx/main.c > @@ -147,6 +147,7 @@ static bool setup_test_encl(unsigned long heap_size, struct encl *encl, > if (!encl_load("test_encl.elf", encl, heap_size)) { > encl_delete(encl); > TH_LOG("Failed to load the test enclave.\n"); > + return false; > } > > if (!encl_measure(encl)) One more sentence to add to the changelog: A "return false" from setup_test_encl() is expected to trip an ASSERT_TRUE() and abort the rest of the test. That at least saves a reviewer from needing to check what the callers see.
Hi Dave, On 1/28/2022 11:03 AM, Dave Hansen wrote: > On 1/28/22 10:23, Reinette Chatre wrote: >> It is not possible to build an enclave if it was not possible to load >> the binary from which it should be constructed. Do not attempt >> to make further progress but instead return with failure. >> >> Fixes: 1b35eb719549 ("selftests/sgx: Encpsulate the test enclave creation") >> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> > > Acked-by: Dave Hansen <dave.hansen@linux.intel.com> > Thank you very much. >> tools/testing/selftests/sgx/main.c | 1 + >> 1 file changed, 1 insertion(+) >> >> diff --git a/tools/testing/selftests/sgx/main.c b/tools/testing/selftests/sgx/main.c >> index 370c4995f7c4..a7cd2c3e6f7e 100644 >> --- a/tools/testing/selftests/sgx/main.c >> +++ b/tools/testing/selftests/sgx/main.c >> @@ -147,6 +147,7 @@ static bool setup_test_encl(unsigned long heap_size, struct encl *encl, >> if (!encl_load("test_encl.elf", encl, heap_size)) { >> encl_delete(encl); >> TH_LOG("Failed to load the test enclave.\n"); >> + return false; >> } >> >> if (!encl_measure(encl)) > > One more sentence to add to the changelog: > > A "return false" from setup_test_encl() is expected to trip an > ASSERT_TRUE() and abort the rest of the test. > > That at least saves a reviewer from needing to check what the callers see. Will do. Reinette
On Fri, Jan 28, 2022 at 10:23:57AM -0800, Reinette Chatre wrote: > It is not possible to build an enclave if it was not possible to load > the binary from which it should be constructed. Do not attempt > to make further progress but instead return with failure. > > Fixes: 1b35eb719549 ("selftests/sgx: Encpsulate the test enclave creation") > Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> > --- > tools/testing/selftests/sgx/main.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/tools/testing/selftests/sgx/main.c b/tools/testing/selftests/sgx/main.c > index 370c4995f7c4..a7cd2c3e6f7e 100644 > --- a/tools/testing/selftests/sgx/main.c > +++ b/tools/testing/selftests/sgx/main.c > @@ -147,6 +147,7 @@ static bool setup_test_encl(unsigned long heap_size, struct encl *encl, > if (!encl_load("test_encl.elf", encl, heap_size)) { > encl_delete(encl); > TH_LOG("Failed to load the test enclave.\n"); > + return false; > } > > if (!encl_measure(encl)) > -- > 2.25.1 > Reviewed-by: Jarkko Sakkinen <jarkko@kernel.org> /Jarkko
diff --git a/tools/testing/selftests/sgx/main.c b/tools/testing/selftests/sgx/main.c index 370c4995f7c4..a7cd2c3e6f7e 100644 --- a/tools/testing/selftests/sgx/main.c +++ b/tools/testing/selftests/sgx/main.c @@ -147,6 +147,7 @@ static bool setup_test_encl(unsigned long heap_size, struct encl *encl, if (!encl_load("test_encl.elf", encl, heap_size)) { encl_delete(encl); TH_LOG("Failed to load the test enclave.\n"); + return false; } if (!encl_measure(encl))
It is not possible to build an enclave if it was not possible to load the binary from which it should be constructed. Do not attempt to make further progress but instead return with failure. Fixes: 1b35eb719549 ("selftests/sgx: Encpsulate the test enclave creation") Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> --- tools/testing/selftests/sgx/main.c | 1 + 1 file changed, 1 insertion(+)