-
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
30
commits into
hypeship/generalize-vgpu-device
from
hypeship/hypervisor-liveness
Open
Changes from all commits
Commits
Show all changes
30 commits
Select commit
Hold shift + click to select a range
f490302
Unify hypervisor liveness checks on ProcessExists
yummybomb a3220e7
Wait for non-child hypervisor exit before finishing kill
yummybomb 5b8a779
Verify socket ownership before treating a hypervisor PID as live
yummybomb bfe5261
Fail closed on hypervisor liveness checks
yummybomb 55f19ea
Fail closed on duplicate socket paths
yummybomb f756f91
Resolve socket owner from listening entries only
yummybomb 8c9d618
Verify socket ownership before force-killing a hypervisor PID
yummybomb d52c2f2
Skip hypervisor kill when socket ownership is unconfirmed
yummybomb 8eee663
Fail delete when hypervisor ownership is unconfirmed
yummybomb f3459f0
Verify hypervisor ownership before killing
yummybomb 0554e32
Fail closed on unconfirmed socket match with no stored PID
yummybomb 9b88d3d
Treat unsignalable hypervisor processes as alive
yummybomb 9f9354d
Document fail-closed hypervisor errors
yummybomb 434e9af
Handle process exit races during socket scans
yummybomb 9179165
Confirm hypervisor identity before kill
yummybomb dc4f7fa
Handle hypervisor identity edge cases
yummybomb d98b253
Disambiguate inherited hypervisor sockets
yummybomb 51fd6be
Add non-Linux process owner resolver
yummybomb 8681699
Scope hypervisor identity to host boot
yummybomb 07d61a2
Verify graceful shutdown process ownership
yummybomb 1b2ed44
Mint hypervisor identity tokens only for confirmed PIDs
yummybomb 49cdd50
Treat a hypervisor identity from a previous boot as dead
yummybomb c6443db
Treat a socket with no owning process as proof the hypervisor is gone
yummybomb 64c2b7f
Confirm the expected owner's socket fd before scanning all of /proc
yummybomb 312affc
Backfill hypervisor process identity at startup
yummybomb ecf49be
Memoize the host boot ID
yummybomb bf291eb
Skip unreadable fds in the candidate socket ownership check
yummybomb 1376779
Record a bare PID when the fallback hypervisor PID is dead
yummybomb 1efc4be
Resolve hypervisor ownership before shutdown kill
yummybomb cf8c7d4
Handle dead owners in shutdown and socket classification
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.