diff options
Diffstat (limited to 'pkg/sentry/platform/kvm/context.go')
-rw-r--r-- | pkg/sentry/platform/kvm/context.go | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/pkg/sentry/platform/kvm/context.go b/pkg/sentry/platform/kvm/context.go index be902be88..c75a4b415 100644 --- a/pkg/sentry/platform/kvm/context.go +++ b/pkg/sentry/platform/kvm/context.go @@ -29,6 +29,9 @@ type context struct { // machine is the parent machine, and is immutable. machine *machine + // info is the arch.SignalInfo cached for this context. + info arch.SignalInfo + // interrupt is the interrupt context. interrupt interrupt.Forwarder } @@ -65,7 +68,7 @@ func (c *context) Switch(as platform.AddressSpace, ac arch.Context, _ int32) (*a } // Take the blue pill. - si, at, err := cpu.SwitchToUser(switchOpts) + at, err := cpu.SwitchToUser(switchOpts, &c.info) // Clear the address space. cpu.active.set(nil) @@ -75,7 +78,7 @@ func (c *context) Switch(as platform.AddressSpace, ac arch.Context, _ int32) (*a // All done. c.interrupt.Disable() - return si, at, err + return &c.info, at, err } // Interrupt interrupts the running context. |