summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorAdin Scannell <ascannell@google.com>2018-06-15 09:29:19 -0700
committerShentubot <shentubot@google.com>2018-06-15 09:30:08 -0700
commitb31ac4e1dfc0eef688e2d8e85df965292690726e (patch)
tree689bb3787dd38b5677e536bb8d0127d9aab4e01c
parentef5dd4df9b65fb98d952b83baa736c14b2627fe7 (diff)
Use notify explicitly on unlock path.
There are circumstances under which the redpill call will not generate the appropriate action and notification. Replace this call with an explicit notification, which is guaranteed to transition as well as perform the futex wake. PiperOrigin-RevId: 200726934 Change-Id: Ie19e008a6007692dd7335a31a8b59f0af6e54aaa
-rw-r--r--pkg/sentry/platform/kvm/machine.go2
1 files changed, 1 insertions, 1 deletions
diff --git a/pkg/sentry/platform/kvm/machine.go b/pkg/sentry/platform/kvm/machine.go
index ab2ccc695..f045345d5 100644
--- a/pkg/sentry/platform/kvm/machine.go
+++ b/pkg/sentry/platform/kvm/machine.go
@@ -397,7 +397,7 @@ func (c *vCPU) unlock() {
case vCPUUser | vCPUGuest | vCPUWaiter:
// Force a transition: this must trigger a notification when we
// return from guest mode.
- redpill()
+ c.notify()
case vCPUUser | vCPUWaiter:
// Waiting for the lock to be released; the responsibility is
// on us to notify the waiter and clear the associated bit.