-
Notifications
You must be signed in to change notification settings - Fork 48
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
allocator-test: probe revocation in more places #422
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This also needs a test of capabilities in static shared objects, which are like globals but are not within CGPs. |
rmn30
force-pushed
the
nwf/202501-more_revoker_tests
branch
from
January 16, 2025 23:34
301ab8b
to
3a0dbf4
Compare
nwf
commented
Jan 16, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I cannot approve my own PR, but thank you for seeing the work through to the end. This LGTM.
rmn30
force-pushed
the
nwf/202501-more_revoker_tests
branch
from
January 17, 2025 10:12
bc71a86
to
0e99407
Compare
davidchisnall
approved these changes
Jan 17, 2025
davidchisnall
approved these changes
Jan 17, 2025
rmn30
force-pushed
the
nwf/202501-more_revoker_tests
branch
from
January 17, 2025 13:29
0e99407
to
0a42574
Compare
The current confgurations of both software and hardware revokers are missing some of these and need to be fixed. Specifically the software revoker is not scanning trusted stacks or static sealed caps and the hardware revoker is not scanning any stacks.
Neither software or hardware revoker were scanning enough of memory, as revealed by the tests in the previous commit. To fix this we move all the mutable data (which needs to be swept) into a single contigous range bounded by __revoker_scan_start and __export_mem_heap_end. The software revoker is currently set up to scan multiple disjoint regions (stack, heap etc) but we now only need to use one, which is not the same as the hardware revoker. This revealed a problem in the loader where it was not using imprecise set bounds as intended.
rmn30
force-pushed
the
nwf/202501-more_revoker_tests
branch
from
January 17, 2025 13:30
0a42574
to
df9c9ef
Compare
nwf
added a commit
that referenced
this pull request
Jan 21, 2025
Ensure that the compiler loads the to be revoked pointer into a register prior to releasing the main thread. Otherwise, there is a chance that we never hold an unrevoked copy in the register file. Embarrassing fix to #422
nwf
added a commit
that referenced
this pull request
Jan 21, 2025
Ensure that the compiler loads the to be revoked pointer into a register prior to releasing the main thread. Otherwise, there is a chance that we never hold an unrevoked copy in the register file. Embarrassing fix to #422
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Explicitly test for revocation in all of globals, the stack, and the trusted stack.