The permissions check on /dev/sgx_enclave appears to be an oversight in that it will not allow the test to continue. Skipping this test with a warning allows the test to proceed.
Cc: Jarkko Sakkinen jarkko@kernel.org Cc: Dave Hansen dave.hansen@linux.intel.com Cc: Shuah Khan shuah@kernel.org Cc: linux-sgx@vger.kernel.org Cc: linux-kselftest@vger.kernel.org Cc: linux-kernel@vger.kernel.org Signed-off-by: Tim Gardner tim.gardner@canonical.com --- tools/testing/selftests/sgx/load.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/tools/testing/selftests/sgx/load.c b/tools/testing/selftests/sgx/load.c index f441ac34b4d4..e5bcaca1c372 100644 --- a/tools/testing/selftests/sgx/load.c +++ b/tools/testing/selftests/sgx/load.c @@ -155,10 +155,8 @@ bool encl_load(const char *path, struct encl *encl) * bits set. It does not check that the current user is * the owner or in the owning group. */ - if (!(sb.st_mode & (S_IXUSR | S_IXGRP | S_IXOTH))) { - fprintf(stderr, "no execute permissions on device file %s\n", device_path); - goto err; - } + if (!(sb.st_mode & (S_IXUSR | S_IXGRP | S_IXOTH))) + fprintf(stderr, "Warning: no execute permissions on device file %s\n", device_path);
ptr = mmap(NULL, PAGE_SIZE, PROT_READ, MAP_SHARED, fd, 0); if (ptr == (void *)-1) {