Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

FW: Remove the ability to run without shared memory #272

Conversation

thiagomacieira
Copy link
Contributor

@thiagomacieira thiagomacieira commented Jun 28, 2023

I added this back in February 2021 to support running with secure enclaves, where each process gets its own memory encryption and thus can't share memory with other processes. It was later used for the early Windows port, before we discovered how to have the child process inherit file descriptors from the parent (you have to use _spawnv(), not directly CreateProcessW()), but isn't needed any more there.

Given the upcoming changes to support multiple child processes, this would be a complexity I could live without, so I'm removing. If the need arises, we can bring it back later, adapting as necessary.

[ChangeLog][Framework] Removed the ability to run without shared memory
between the multiple tool processes. This ability existed to support
process isolation in some secure enclave environments; it is now
necessary to configure such environments to keep all the processes in
the same enclave so they can share memory.

@thiagomacieira
Copy link
Contributor Author

Will need rebasing on top of #247 and #271

This was a debugging option that I created back in February 2021 to help
me simulate runs with secure enclaves, where each process gets its own
memory encryption and thus can't share memory with other processes. It
was later used for the early Windows port, before we discovered how to
have the child process inherit file descriptors from the parent (you
have to use _spawnl(), not directly CreateProcessW()), but isn't needed
any more there.

Given the upcoming changes to support multiple child processes, this
would be a complexity I could live without, so I'm removing. If the need
arises, we can bring it back later, adapting as necessary.

Signed-off-by: Thiago Macieira <thiago.macieira@intel.com>
See previous commit for rationale.

[ChangeLog][Framework] Removed the ability to run without shared memory
between the multiple tool processes. This ability existed to support
process isolation in some secure enclave environments; it is now
necessary to configure such environments to keep all the processes in
the same enclave so they can share memory.

Signed-off-by: Thiago Macieira <thiago.macieira@intel.com>
This simplifies the code considerably.

Signed-off-by: Thiago Macieira <thiago.macieira@intel.com>
@thiagomacieira thiagomacieira merged commit 403866d into opendcdiag:socket-separation Jun 28, 2023
6 checks passed
@thiagomacieira thiagomacieira deleted the remove-no-shared-memory branch June 28, 2023 17:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants