All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jo Van Bulck <jo.vanbulck@cs.kuleuven.be>
To: jarkko@kernel.org, kai.huang@intel.com,
	linux-sgx@vger.kernel.org, linux-kernel@vger.kernel.org
Cc: dave.hansen@linux.intel.com, Jo Van Bulck <jo.vanbulck@cs.kuleuven.be>
Subject: [PATCH v7 10/13] selftests/sgx: Ensure test enclave buffer is entirely preserved
Date: Thu,  5 Oct 2023 17:38:51 +0200	[thread overview]
Message-ID: <20231005153854.25566-11-jo.vanbulck@cs.kuleuven.be> (raw)
In-Reply-To: <20231005153854.25566-1-jo.vanbulck@cs.kuleuven.be>

Attach the "used" attribute to instruct the compiler to preserve the static
encl_buffer, even if it appears it is not entirely referenced in the enclave
code, as expected by the external tests manipulating page permissions.

Link: https://lore.kernel.org/all/a2732938-f3db-a0af-3d68-a18060f66e79@cs.kuleuven.be/
Signed-off-by: Jo Van Bulck <jo.vanbulck@cs.kuleuven.be>
Reviewed-by: Jarkko Sakkinen <jarkko@kernel.org>
Acked-by: Kai Huang <kai.huang@intel.com>
---
 tools/testing/selftests/sgx/defines.h   | 1 +
 tools/testing/selftests/sgx/test_encl.c | 9 +++++----
 2 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/tools/testing/selftests/sgx/defines.h b/tools/testing/selftests/sgx/defines.h
index d8587c971941..b8f482667ce1 100644
--- a/tools/testing/selftests/sgx/defines.h
+++ b/tools/testing/selftests/sgx/defines.h
@@ -13,6 +13,7 @@
 
 #define __aligned(x) __attribute__((__aligned__(x)))
 #define __packed __attribute__((packed))
+#define __used __attribute__((used))
 
 #include "../../../../arch/x86/include/asm/sgx.h"
 #include "../../../../arch/x86/include/asm/enclu.h"
diff --git a/tools/testing/selftests/sgx/test_encl.c b/tools/testing/selftests/sgx/test_encl.c
index 649604c526e7..7465f121fb74 100644
--- a/tools/testing/selftests/sgx/test_encl.c
+++ b/tools/testing/selftests/sgx/test_encl.c
@@ -5,11 +5,12 @@
 #include "defines.h"
 
 /*
- * Data buffer spanning two pages that will be placed first in .data
- * segment. Even if not used internally the second page is needed by
- * external test manipulating page permissions.
+ * Data buffer spanning two pages that will be placed first in the .data
+ * segment. Even if not used internally the second page is needed by external
+ * test manipulating page permissions, so mark encl_buffer as "used" to make
+ * sure it is entirely preserved by the compiler.
  */
-static uint8_t encl_buffer[8192] = { 1 };
+static uint8_t __used encl_buffer[8192] = { 1 };
 
 enum sgx_enclu_function {
 	EACCEPT = 0x5,
-- 
2.25.1


  parent reply	other threads:[~2023-10-05 16:41 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-10-05 15:38 [PATCH v7 00/13] selftests/sgx: Fix compilation errors Jo Van Bulck
2023-10-05 15:38 ` [PATCH v7 01/13] selftests/sgx: Fix uninitialized pointer dereference in error path Jo Van Bulck
2023-10-05 15:38 ` [PATCH v7 02/13] selftests/sgx: Fix uninitialized pointer dereferences in encl_get_entry Jo Van Bulck
2023-10-05 15:38 ` [PATCH v7 03/13] selftests/sgx: Include memory clobber for inline asm in test enclave Jo Van Bulck
2023-10-05 15:38 ` [PATCH v7 04/13] selftests/sgx: Separate linker options Jo Van Bulck
2023-10-05 15:38 ` [PATCH v7 05/13] selftests/sgx: Specify freestanding environment for enclave compilation Jo Van Bulck
2023-10-05 15:38 ` [PATCH v7 06/13] selftests/sgx: Remove redundant enclave base address save/restore Jo Van Bulck
2023-10-05 15:38 ` [PATCH v7 07/13] selftests/sgx: Produce static-pie executable for test enclave Jo Van Bulck
2023-10-05 15:38 ` [PATCH v7 08/13] selftests/sgx: Handle relocations in " Jo Van Bulck
2023-10-05 15:38 ` [PATCH v7 09/13] selftests/sgx: Fix linker script asserts Jo Van Bulck
2023-10-05 15:38 ` Jo Van Bulck [this message]
2023-10-05 15:38 ` [PATCH v7 11/13] selftests/sgx: Ensure expected location of test enclave buffer Jo Van Bulck
2023-10-05 15:38 ` [PATCH v7 12/13] selftests/sgx: Discard unsupported ELF sections Jo Van Bulck
2023-10-05 15:38 ` [PATCH v7 13/13] selftests/sgx: Remove incomplete ABI sanitization code in test enclave Jo Van Bulck
2023-10-05 21:25 ` [PATCH v7 00/13] selftests/sgx: Fix compilation errors Huang, Kai
2023-10-06  9:51   ` Jo Van Bulck
2023-10-10  9:44     ` Jarkko Sakkinen
2023-10-10 12:11       ` Jarkko Sakkinen
2023-10-13 11:58         ` Jo Van Bulck
2023-10-13 11:45       ` Jo Van Bulck
2023-10-23 21:32         ` Jarkko Sakkinen
2023-11-08 20:31           ` Jo Van Bulck
2023-11-08 20:46             ` Dave Hansen
2023-11-09 12:47               ` Jo Van Bulck
2023-11-15 21:27               ` Jarkko Sakkinen
2023-11-15 21:26             ` Jarkko Sakkinen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20231005153854.25566-11-jo.vanbulck@cs.kuleuven.be \
    --to=jo.vanbulck@cs.kuleuven.be \
    --cc=dave.hansen@linux.intel.com \
    --cc=jarkko@kernel.org \
    --cc=kai.huang@intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-sgx@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.