-
Notifications
You must be signed in to change notification settings - Fork 24
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
34e9270
Unify hypervisor liveness checks on ProcessExists
yummybomb 1e5c0a1
Wait for non-child hypervisor exit before finishing kill
yummybomb 0b1a387
Verify socket ownership before treating a hypervisor PID as live
yummybomb bc1ba16
Fail closed on hypervisor liveness checks
yummybomb d03b190
Fail closed on duplicate socket paths
yummybomb fd372fa
Resolve socket owner from listening entries only
yummybomb 5fcd915
Verify socket ownership before force-killing a hypervisor PID
yummybomb e7c5782
Skip hypervisor kill when socket ownership is unconfirmed
yummybomb f7b141b
Fail delete when hypervisor ownership is unconfirmed
yummybomb 5d7e89f
Verify hypervisor ownership before killing
yummybomb 3689efb
Fail closed on unconfirmed socket match with no stored PID
yummybomb 929baf2
Treat unsignalable hypervisor processes as alive
yummybomb aedcdd1
Document fail-closed hypervisor errors
yummybomb 5bbd742
Handle process exit races during socket scans
yummybomb 18e779c
Confirm hypervisor identity before kill
yummybomb 8af4066
Handle hypervisor identity edge cases
yummybomb 1e2f0cf
Disambiguate inherited hypervisor sockets
yummybomb a146a3b
Add non-Linux process owner resolver
yummybomb 8cd027b
Scope hypervisor identity to host boot
yummybomb 95506fd
Verify graceful shutdown process ownership
yummybomb 89a6e38
Mint hypervisor identity tokens only for confirmed PIDs
yummybomb ad6d0f7
Treat a hypervisor identity from a previous boot as dead
yummybomb a8c2729
Treat a socket with no owning process as proof the hypervisor is gone
yummybomb 68c3044
Confirm the expected owner's socket fd before scanning all of /proc
yummybomb 66b1200
Backfill hypervisor process identity at startup
yummybomb 78d6c1e
Memoize the host boot ID
yummybomb 498155f
Skip unreadable fds in the candidate socket ownership check
yummybomb 5e805e4
Record a bare PID when the fallback hypervisor PID is dead
yummybomb 36cf13a
Resolve hypervisor ownership before shutdown kill
yummybomb 3894897
Handle dead owners in shutdown and socket classification
yummybomb 67e0bf3
Keep the fail-closed resolver off the hydration hot path
yummybomb c9b384a
Extract hypervisor process identity logic into process_identity.go
yummybomb bb2a847
Group hypervisor process identity fields into a struct
yummybomb bda8a2c
Collapse the three SIGKILL-and-wait paths into one helper
yummybomb ae21765
Log a summary line after hypervisor identity backfill
yummybomb 50e9491
Reduce hypervisor SIGKILL wait from 30s to 2s
yummybomb b5fed73
Defer stuck delete teardown to a background finalizer
yummybomb c703ab3
Revert "Defer stuck delete teardown to a background finalizer"
yummybomb 3e9b706
Drop unused identity checks and redundant kill-wait constant
yummybomb c9230a1
Consolidate redundant identity tests
yummybomb e9f69cd
Merge forceKillHypervisorProcess into killHypervisor
yummybomb a1c8eda
Abort standby when the hypervisor cannot be confirmed dead
yummybomb 40f806c
Remove the hypervisor socket only after confirmed exit
yummybomb 5c154df
Remove the command-line fallback from socket owner resolution
yummybomb 338f27b
Skip the force-kill fallback after a confirmed hypervisor shutdown
yummybomb df725d2
Remove the startup hypervisor identity backfill
yummybomb f5d1a9e
Reap zombie child VMMs and scan /proc in the churn test
yummybomb 1d69bbd
Retry cleanup deletes until the hypervisor teardown converges
yummybomb 4a92e23
Validate process identity without socket path
yummybomb eb9678f
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.