lkml.org 
[lkml]   [2023]   [Jul]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 3/5] selftests/sgx: Ensure correct secinfo struct alignment in test enclave.
    Date
    Declare the secinfo struct as volatile to prevent compiler optimizations
    from passing an unaligned pointer to ENCLU.

    Signed-off-by: Jo Van Bulck <jo.vanbulck@cs.kuleuven.be>
    ---
    tools/testing/selftests/sgx/test_encl.c | 6 ++++--
    1 file changed, 4 insertions(+), 2 deletions(-)

    diff --git a/tools/testing/selftests/sgx/test_encl.c b/tools/testing/selftests/sgx/test_encl.c
    index 4e31a6c3d673..aba301abefb8 100644
    --- a/tools/testing/selftests/sgx/test_encl.c
    +++ b/tools/testing/selftests/sgx/test_encl.c
    @@ -18,7 +18,8 @@ enum sgx_enclu_function {

    static void do_encl_emodpe(void *_op)
    {
    - struct sgx_secinfo secinfo __aligned(sizeof(struct sgx_secinfo)) = {0};
    + /* declare secinfo volatile to preserve alignment */
    + volatile struct sgx_secinfo secinfo __aligned(sizeof(struct sgx_secinfo)) = {0};
    struct encl_op_emodpe *op = _op;

    secinfo.flags = op->flags;
    @@ -32,7 +33,8 @@ static void do_encl_emodpe(void *_op)

    static void do_encl_eaccept(void *_op)
    {
    - struct sgx_secinfo secinfo __aligned(sizeof(struct sgx_secinfo)) = {0};
    + /* declare secinfo volatile to preserve alignment */
    + volatile struct sgx_secinfo secinfo __aligned(sizeof(struct sgx_secinfo)) = {0};
    struct encl_op_eaccept *op = _op;
    int rax;

    --
    2.34.1
    \
     
     \ /
      Last update: 2023-07-24 18:59    [W:7.292 / U:0.104 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site