Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Enable enclave_loader() fallback to libsgx_enclave_common.so.1 #432

Merged
merged 2 commits into from
Feb 6, 2023

Conversation

raoulstrackx
Copy link
Contributor

The aesmd service depends on a dcap_quoteprov.so library (the DCAP provider) to aid in DCAP attestations. For it to work correctly, it may need to (recursively) request a DCAP attestation itself. For that a dcap-ql::enclave_loader call is required. Unfortunately, when this happens as part of the aesmd service, Dl::this() returns /opt/intel/sgx-aesm-service/aesm/aesm_service. This leads to an error as the expected symbols can't be located. This PR adds a fallback to the libsgx_enclave_common.so.1 library (or sgx_enclave_common.dll on windows).

@mzohreva
Copy link
Contributor

mzohreva commented Feb 6, 2023

bors r+

bors bot added a commit that referenced this pull request Feb 6, 2023
432: Enable `enclave_loader()` fallback to libsgx_enclave_common.so.1 r=mzohreva a=raoulstrackx

The `aesmd` service depends on a `dcap_quoteprov.so` library (the DCAP provider) to aid in DCAP attestations. For it to work correctly, it may need to (recursively) request a DCAP attestation itself. For that a `dcap-ql::enclave_loader` call is required. Unfortunately, when this happens as part of the `aesmd` service, `Dl::this()` returns `/opt/intel/sgx-aesm-service/aesm/aesm_service`. This leads to an error as the expected symbols can't be located. This PR adds a fallback to the `libsgx_enclave_common.so.1` library (or `sgx_enclave_common.dll` on windows).

Co-authored-by: Raoul Strackx <raoul.strackx@fortanix.com>
@bors
Copy link
Contributor

bors bot commented Feb 6, 2023

Build failed:

@Taowyoo
Copy link
Collaborator

Taowyoo commented Feb 6, 2023

bors r+

@bors
Copy link
Contributor

bors bot commented Feb 6, 2023

Build succeeded:

  • continuous-integration/travis-ci/push

@bors bors bot merged commit 0a64b40 into mz/async-usercalls Feb 6, 2023
bors bot added a commit that referenced this pull request Feb 9, 2023
434: Enable `enclave_loader()` fallback to `libsgx_enclave_common.so.1` r=mzohreva a=raoulstrackx

The aesmd service depends on a dcap_quoteprov.so library (the DCAP provider) to aid in DCAP attestations. For it to work correctly, it may need to (recursively) request a DCAP attestation itself. For that a `dcap-ql::enclave_loader` call is required. Unfortunately, when this happens as part of the aesmd service, `Dl::this()` returns `/opt/intel/sgx-aesm-service/aesm/aesm_service`. This leads to an error as the expected symbols can't be located. This PR adds a fallback to the `libsgx_enclave_common.so.1` library (or `sgx_enclave_common.dll` on windows).

This commit has been merged already on a different branch as part of #432 

Co-authored-by: Raoul Strackx <raoul.strackx@fortanix.com>
@Taowyoo Taowyoo deleted the raoul/add_sgx_loader_fallback_backport branch September 7, 2023 22:32
@Taowyoo Taowyoo restored the raoul/add_sgx_loader_fallback_backport branch September 7, 2023 22:32
@Taowyoo Taowyoo deleted the raoul/add_sgx_loader_fallback_backport branch September 7, 2023 22:32
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants