On Wed, 2021-09-15 at 13:31 -0700, Reinette Chatre wrote: > SGX selftests prepares a data structure outside of the enclave with > the type of and data for the operation that needs to be run within > the enclave. At this time only two complementary operations are supported > by the enclave: copying a value from outside the enclave into a default > buffer within the enclave and reading a value from the enclave's default > buffer into a variable accessible outside the enclave. > > In preparation for more operations supported by the enclave the names of the > current enclave operations are changed to more accurately reflect the > operations and more easily distinguish it from future operations: > > * The enums ENCL_OP_PUT and ENCL_OP_GET are renamed to ENCL_OP_PUT_TO_BUFFER > and ENCL_OP_GET_FROM_BUFFER respectively. > * The structs encl_op_put and encl_op_get are renamed to encl_op_put_to_buf > and encl_op_get_from_buf respectively. > * The enclave functions do_encl_op_put and do_encl_op_get are renamed to > do_encl_op_put_to_buf and do_encl_op_get_from_buf respectively. > > No functional changes. > > Suggested-by: Jarkko Sakkinen <jarkko@xxxxxxxxxx> > Signed-off-by: Reinette Chatre <reinette.chatre@xxxxxxxxx> > --- > tools/testing/selftests/sgx/defines.h | 8 +++---- > tools/testing/selftests/sgx/main.c | 32 ++++++++++++------------- > tools/testing/selftests/sgx/test_encl.c | 12 +++++----- > 3 files changed, 26 insertions(+), 26 deletions(-) > > diff --git a/tools/testing/selftests/sgx/defines.h b/tools/testing/selftests/sgx/defines.h > index 6ff95a766287..9ea0c7882dfb 100644 > --- a/tools/testing/selftests/sgx/defines.h > +++ b/tools/testing/selftests/sgx/defines.h > @@ -19,8 +19,8 @@ > #include "../../../../arch/x86/include/uapi/asm/sgx.h" > > enum encl_op_type { > - ENCL_OP_PUT, > - ENCL_OP_GET, > + ENCL_OP_PUT_TO_BUFFER, > + ENCL_OP_GET_FROM_BUFFER, > ENCL_OP_MAX, > }; > > @@ -28,12 +28,12 @@ struct encl_op_header { > uint64_t type; > }; > > -struct encl_op_put { > +struct encl_op_put_to_buf { > struct encl_op_header header; > uint64_t value; > }; > > -struct encl_op_get { > +struct encl_op_get_from_buf { > struct encl_op_header header; > uint64_t value; > }; > diff --git a/tools/testing/selftests/sgx/main.c b/tools/testing/selftests/sgx/main.c > index a107fc576094..3eb9b89ece5f 100644 > --- a/tools/testing/selftests/sgx/main.c > +++ b/tools/testing/selftests/sgx/main.c > @@ -220,15 +220,15 @@ FIXTURE_TEARDOWN(enclave) > > TEST_F(enclave, unclobbered_vdso) > { > - struct encl_op_put put_op; > - struct encl_op_get get_op; > + struct encl_op_get_from_buf get_op; > + struct encl_op_put_to_buf put_op; > > ASSERT_TRUE(setup_test_encl(ENCL_HEAP_SIZE_DEFAULT, &self->encl, _metadata)); > > memset(&self->run, 0, sizeof(self->run)); > self->run.tcs = self->encl.encl_base; > > - put_op.header.type = ENCL_OP_PUT; > + put_op.header.type = ENCL_OP_PUT_TO_BUFFER; > put_op.value = MAGIC; > > EXPECT_EQ(ENCL_CALL(&put_op, &self->run, false), 0); > @@ -236,7 +236,7 @@ TEST_F(enclave, unclobbered_vdso) > EXPECT_EEXIT(&self->run); > EXPECT_EQ(self->run.user_data, 0); > > - get_op.header.type = ENCL_OP_GET; > + get_op.header.type = ENCL_OP_GET_FROM_BUFFER; > get_op.value = 0; > > EXPECT_EQ(ENCL_CALL(&get_op, &self->run, false), 0); > @@ -277,9 +277,9 @@ static bool sysfs_get_ulong(const char *path, unsigned long *value) > > TEST_F(enclave, unclobbered_vdso_oversubscribed) > { > + struct encl_op_get_from_buf get_op; > + struct encl_op_put_to_buf put_op; > unsigned long total_mem; > - struct encl_op_put put_op; > - struct encl_op_get get_op; > > ASSERT_TRUE(sysfs_get_ulong(SGX_TOTAL_MEM_PATH, &total_mem)); > ASSERT_TRUE(setup_test_encl(total_mem, &self->encl, _metadata)); > @@ -287,7 +287,7 @@ TEST_F(enclave, unclobbered_vdso_oversubscribed) > memset(&self->run, 0, sizeof(self->run)); > self->run.tcs = self->encl.encl_base; > > - put_op.header.type = ENCL_OP_PUT; > + put_op.header.type = ENCL_OP_PUT_TO_BUFFER; > put_op.value = MAGIC; > > EXPECT_EQ(ENCL_CALL(&put_op, &self->run, false), 0); > @@ -295,7 +295,7 @@ TEST_F(enclave, unclobbered_vdso_oversubscribed) > EXPECT_EEXIT(&self->run); > EXPECT_EQ(self->run.user_data, 0); > > - get_op.header.type = ENCL_OP_GET; > + get_op.header.type = ENCL_OP_GET_FROM_BUFFER; > get_op.value = 0; > > EXPECT_EQ(ENCL_CALL(&get_op, &self->run, false), 0); > @@ -308,15 +308,15 @@ TEST_F(enclave, unclobbered_vdso_oversubscribed) > > TEST_F(enclave, clobbered_vdso) > { > - struct encl_op_put put_op; > - struct encl_op_get get_op; > + struct encl_op_get_from_buf get_op; > + struct encl_op_put_to_buf put_op; > > ASSERT_TRUE(setup_test_encl(ENCL_HEAP_SIZE_DEFAULT, &self->encl, _metadata)); > > memset(&self->run, 0, sizeof(self->run)); > self->run.tcs = self->encl.encl_base; > > - put_op.header.type = ENCL_OP_PUT; > + put_op.header.type = ENCL_OP_PUT_TO_BUFFER; > put_op.value = MAGIC; > > EXPECT_EQ(ENCL_CALL(&put_op, &self->run, true), 0); > @@ -324,7 +324,7 @@ TEST_F(enclave, clobbered_vdso) > EXPECT_EEXIT(&self->run); > EXPECT_EQ(self->run.user_data, 0); > > - get_op.header.type = ENCL_OP_GET; > + get_op.header.type = ENCL_OP_GET_FROM_BUFFER; > get_op.value = 0; > > EXPECT_EQ(ENCL_CALL(&get_op, &self->run, true), 0); > @@ -344,8 +344,8 @@ static int test_handler(long rdi, long rsi, long rdx, long ursp, long r8, long r > > TEST_F(enclave, clobbered_vdso_and_user_function) > { > - struct encl_op_put put_op; > - struct encl_op_get get_op; > + struct encl_op_get_from_buf get_op; > + struct encl_op_put_to_buf put_op; > > ASSERT_TRUE(setup_test_encl(ENCL_HEAP_SIZE_DEFAULT, &self->encl, _metadata)); > > @@ -355,7 +355,7 @@ TEST_F(enclave, clobbered_vdso_and_user_function) > self->run.user_handler = (__u64)test_handler; > self->run.user_data = 0xdeadbeef; > > - put_op.header.type = ENCL_OP_PUT; > + put_op.header.type = ENCL_OP_PUT_TO_BUFFER; > put_op.value = MAGIC; > > EXPECT_EQ(ENCL_CALL(&put_op, &self->run, true), 0); > @@ -363,7 +363,7 @@ TEST_F(enclave, clobbered_vdso_and_user_function) > EXPECT_EEXIT(&self->run); > EXPECT_EQ(self->run.user_data, 0); > > - get_op.header.type = ENCL_OP_GET; > + get_op.header.type = ENCL_OP_GET_FROM_BUFFER; > get_op.value = 0; > > EXPECT_EQ(ENCL_CALL(&get_op, &self->run, true), 0); > diff --git a/tools/testing/selftests/sgx/test_encl.c b/tools/testing/selftests/sgx/test_encl.c > index f11eb8315704..4e8da738173f 100644 > --- a/tools/testing/selftests/sgx/test_encl.c > +++ b/tools/testing/selftests/sgx/test_encl.c > @@ -16,16 +16,16 @@ static void *memcpy(void *dest, const void *src, size_t n) > return dest; > } > > -static void do_encl_op_put(void *op) > +static void do_encl_op_put_to_buf(void *op) > { > - struct encl_op_put *op2 = op; > + struct encl_op_put_to_buf *op2 = op; > > memcpy(&encl_buffer[0], &op2->value, 8); > } > > -static void do_encl_op_get(void *op) > +static void do_encl_op_get_from_buf(void *op) > { > - struct encl_op_get *op2 = op; > + struct encl_op_get_from_buf *op2 = op; > > memcpy(&op2->value, &encl_buffer[0], 8); > } > @@ -33,8 +33,8 @@ static void do_encl_op_get(void *op) > void encl_body(void *rdi, void *rsi) > { > const void (*encl_op_array[ENCL_OP_MAX])(void *) = { > - do_encl_op_put, > - do_encl_op_get, > + do_encl_op_put_to_buf, > + do_encl_op_get_from_buf, > }; > > struct encl_op_header *op = (struct encl_op_header *)rdi; Acked-by: Jarkko Sakkinen <jarkko@xxxxxxxxxx> /Jarkko