-
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
50
commits into
hypeship/generalize-vgpu-device
from
hypeship/hypervisor-liveness
Open
Changes from all commits
Commits
Show all changes
50 commits
Select commit
Hold shift + click to select a range
490716e
Unify hypervisor liveness checks on ProcessExists
yummybomb 58f0a6f
Wait for non-child hypervisor exit before finishing kill
yummybomb 008fc8f
Verify socket ownership before treating a hypervisor PID as live
yummybomb 2f6aa21
Fail closed on hypervisor liveness checks
yummybomb 4943360
Fail closed on duplicate socket paths
yummybomb 13c6bbf
Resolve socket owner from listening entries only
yummybomb 47d80c0
Verify socket ownership before force-killing a hypervisor PID
yummybomb 3592911
Skip hypervisor kill when socket ownership is unconfirmed
yummybomb 14dbfda
Fail delete when hypervisor ownership is unconfirmed
yummybomb de61e09
Verify hypervisor ownership before killing
yummybomb 588cc03
Fail closed on unconfirmed socket match with no stored PID
yummybomb 97c8f00
Treat unsignalable hypervisor processes as alive
yummybomb fac0044
Document fail-closed hypervisor errors
yummybomb 163f2e9
Handle process exit races during socket scans
yummybomb fc6dcd4
Confirm hypervisor identity before kill
yummybomb 5d8049e
Handle hypervisor identity edge cases
yummybomb 8f1bfa6
Disambiguate inherited hypervisor sockets
yummybomb 5b21883
Add non-Linux process owner resolver
yummybomb 715caac
Scope hypervisor identity to host boot
yummybomb 50cf8b1
Verify graceful shutdown process ownership
yummybomb 077885a
Mint hypervisor identity tokens only for confirmed PIDs
yummybomb d0d2eeb
Treat a hypervisor identity from a previous boot as dead
yummybomb dc86c3a
Treat a socket with no owning process as proof the hypervisor is gone
yummybomb 6d98f30
Confirm the expected owner's socket fd before scanning all of /proc
yummybomb f6fdb31
Backfill hypervisor process identity at startup
yummybomb 6850893
Memoize the host boot ID
yummybomb 67ea25c
Skip unreadable fds in the candidate socket ownership check
yummybomb 06ce0ee
Record a bare PID when the fallback hypervisor PID is dead
yummybomb abf8e5c
Resolve hypervisor ownership before shutdown kill
yummybomb 595bce8
Handle dead owners in shutdown and socket classification
yummybomb 4a4b28c
Keep the fail-closed resolver off the hydration hot path
yummybomb 013570e
Extract hypervisor process identity logic into process_identity.go
yummybomb d301b4a
Group hypervisor process identity fields into a struct
yummybomb 8779c34
Collapse the three SIGKILL-and-wait paths into one helper
yummybomb 1352c51
Log a summary line after hypervisor identity backfill
yummybomb 8035ad4
Reduce hypervisor SIGKILL wait from 30s to 2s
yummybomb 004a770
Defer stuck delete teardown to a background finalizer
yummybomb a1ed4aa
Revert "Defer stuck delete teardown to a background finalizer"
yummybomb d497f3b
Drop unused identity checks and redundant kill-wait constant
yummybomb f21dd81
Consolidate redundant identity tests
yummybomb a67a379
Merge forceKillHypervisorProcess into killHypervisor
yummybomb 23ea38c
Abort standby when the hypervisor cannot be confirmed dead
yummybomb 066d9dc
Remove the hypervisor socket only after confirmed exit
yummybomb cb2ff54
Remove the command-line fallback from socket owner resolution
yummybomb 6dae1e3
Skip the force-kill fallback after a confirmed hypervisor shutdown
yummybomb e0cb6f9
Remove the startup hypervisor identity backfill
yummybomb ced2e27
Reap zombie child VMMs and scan /proc in the churn test
yummybomb 286c61e
Retry cleanup deletes until the hypervisor teardown converges
yummybomb 3cdf2ed
Validate process identity without socket path
yummybomb 18566e0
Capture hypervisor PID before guest shutdown
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
| 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.