Re: [PATCH v7 00/13] selftests/sgx: Fix compilation errors

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Thank you, Kai! I'm not familiar with any next steps to get this merged upstream, but atm all commits in this series have been reviewed by at least Jarkko. Let me know if anything further is needed from my side!

Best,
Jo

On 05.10.23 23:25, Huang, Kai wrote:
Hi Jo,

Just FYI I won't review the rest patches in this series.  One of the reasons is
I am not that familiar with the rest.  Jarkko has reviewed anyway :-).

On Thu, 2023-10-05 at 17:38 +0200, Jo Van Bulck wrote:
Hi,

This patch series ensures that all SGX selftests succeed when compiling with
optimizations (as tested with -O{0,1,2,3,s} for both gcc 11.3.0 and clang
14.0.0). The aim of the patches is to avoid reliance on undefined,
compiler-specific behavior that can make the test results fragile.

As far as I see, all commits in this series now have an explicit reviewed-by
tag, so hopefully this can get merged upstream? Please let me know if any
concerns remain and I'd happily address them.

Reference output below:

.. Testing   gcc   -O0    [OK]
.. Testing   gcc   -O1    [OK]
.. Testing   gcc   -O2    [OK]
.. Testing   gcc   -O3    [OK]
.. Testing   gcc   -Os    [OK]
.. Testing   gcc   -Ofast [OK]
.. Testing   gcc   -Og    [OK]
.. Testing   clang -O0    [OK]
.. Testing   clang -O1    [OK]
.. Testing   clang -O2    [OK]
.. Testing   clang -O3    [OK]
.. Testing   clang -Os    [OK]
.. Testing   clang -Ofast [OK]
.. Testing   clang -Og    [OK]

Changelog
---------

v7
   - Add reviewed-by tag (Jarkko)

v6
   - Collect final ack/reviewed-by tags (Jarkko, Kai)

v5
   - Reorder patches (Jarkko, Kai)
   - Include fixes tag for inline asm memory clobber patch (Kai)
   - Include linker error in static-pie commit message (Kai)
   - Include generated assembly in relocations commit (Kai)

v4
   - Remove redundant -nostartfiles compiler flag (Jarkko)
   - Split dynamic symbol table removal in separate commit (Kai)
   - Split redundant push/pop elimination in separate commit (Kai)
   - Remove (incomplete) register cleansing on enclave exit
   - Fix possibly uninitialized pointer dereferences in load.c

v3
   - Refactor encl_op_array declaration and indexing (Jarkko)
   - Annotate encl_buffer with "used" attribute (Kai)
   - Split encl_buffer size and placement commits (Kai)

v2
   - Add additional check for NULL pointer (Kai)
   - Refine to produce proper static-pie executable
   - Fix linker script assertions
   - Specify memory clobber for inline asm instead of volatile (Kai)
   - Clarify why encl_buffer non-static (Jarkko, Kai)
   - Clarify -ffreestanding (Jarkko)

Best,
Jo

Jo Van Bulck (13):
   selftests/sgx: Fix uninitialized pointer dereference in error path
   selftests/sgx: Fix uninitialized pointer dereferences in
     encl_get_entry
   selftests/sgx: Include memory clobber for inline asm in test enclave
   selftests/sgx: Separate linker options
   selftests/sgx: Specify freestanding environment for enclave
     compilation
   selftests/sgx: Remove redundant enclave base address save/restore
   selftests/sgx: Produce static-pie executable for test enclave
   selftests/sgx: Handle relocations in test enclave
   selftests/sgx: Fix linker script asserts
   selftests/sgx: Ensure test enclave buffer is entirely preserved
   selftests/sgx: Ensure expected location of test enclave buffer
   selftests/sgx: Discard unsupported ELF sections
   selftests/sgx: Remove incomplete ABI sanitization code in test enclave

  tools/testing/selftests/sgx/Makefile          | 12 ++--
  tools/testing/selftests/sgx/defines.h         |  2 +
  tools/testing/selftests/sgx/load.c            |  9 ++-
  tools/testing/selftests/sgx/sigstruct.c       |  5 +-
  tools/testing/selftests/sgx/test_encl.c       | 67 +++++++++++++------
  tools/testing/selftests/sgx/test_encl.lds     | 10 +--
  .../selftests/sgx/test_encl_bootstrap.S       | 28 +++-----
  7 files changed, 77 insertions(+), 56 deletions(-)





[Index of Archives]     [AMD Graphics]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux