-
Notifications
You must be signed in to change notification settings - Fork 23
Harden hypervisor process liveness checks #363
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
Open
yummybomb
wants to merge
27
commits into
hypeship/generalize-vgpu-device
from
hypeship/hypervisor-liveness
Open
Changes from all commits
Commits
Show all changes
27 commits
Select commit
Hold shift + click to select a range
b9e77f0
Unify hypervisor liveness checks on ProcessExists
yummybomb f67582d
Wait for non-child hypervisor exit before finishing kill
yummybomb e17b70a
Verify socket ownership before treating a hypervisor PID as live
yummybomb e509495
Fail closed on hypervisor liveness checks
yummybomb f8a794d
Fail closed on duplicate socket paths
yummybomb e419637
Resolve socket owner from listening entries only
yummybomb fde66a7
Verify socket ownership before force-killing a hypervisor PID
yummybomb ccd124d
Skip hypervisor kill when socket ownership is unconfirmed
yummybomb d787bb9
Fail delete when hypervisor ownership is unconfirmed
yummybomb 4adc722
Verify hypervisor ownership before killing
yummybomb 93ae1fa
Fail closed on unconfirmed socket match with no stored PID
yummybomb ce514c7
Treat unsignalable hypervisor processes as alive
yummybomb 9352c7c
Document fail-closed hypervisor errors
yummybomb 2e48285
Handle process exit races during socket scans
yummybomb 3a7521f
Confirm hypervisor identity before kill
yummybomb a7740ec
Handle hypervisor identity edge cases
yummybomb 700d398
Disambiguate inherited hypervisor sockets
yummybomb 3ef9f9e
Add non-Linux process owner resolver
yummybomb 9c686f4
Scope hypervisor identity to host boot
yummybomb 74e91c5
Verify graceful shutdown process ownership
yummybomb ea0f872
Mint hypervisor identity tokens only for confirmed PIDs
yummybomb 9cf5ada
Treat a hypervisor identity from a previous boot as dead
yummybomb 59775a8
Treat a socket with no owning process as proof the hypervisor is gone
yummybomb 8a13458
Confirm the expected owner's socket fd before scanning all of /proc
yummybomb 1555255
Backfill hypervisor process identity at startup
yummybomb 8d8fd5a
Memoize the host boot ID
yummybomb 976cadd
Skip unreadable fds in the candidate socket ownership check
yummybomb File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or 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 file contains hidden or 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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,5 @@ | ||
| package hypervisor | ||
|
|
||
| import "errors" | ||
|
|
||
| var ErrNoOwningProcess = errors.New("no owning process found") |
This file contains hidden or 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
Oops, something went wrong.
Oops, something went wrong.
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.
Uh oh!
There was an error while loading. Please reload this page.