summaryrefslogtreecommitdiffhomepage
path: root/pkg/sentry/arch/arch.go
diff options
context:
space:
mode:
authorAdin Scannell <ascannell@google.com>2018-06-08 15:00:29 -0700
committerShentubot <shentubot@google.com>2018-06-08 15:01:21 -0700
commit6728f09910bd9f7633f277fafe6945cfaa2abf42 (patch)
tree3f753ec51b176934e8eef6d56522d6dddb3c10f7 /pkg/sentry/arch/arch.go
parentde8dba205f66a07c793619a3896f2376b41a4b55 (diff)
Fix sigaltstack semantics.
Walking off the bottom of the sigaltstack, for example with recursive faults, results in forced signal delivery, not resetting the stack or pushing signal stack to whatever happens to lie below the signal stack. PiperOrigin-RevId: 199856085 Change-Id: I0004d2523f0df35d18714de2685b3eaa147837e0
Diffstat (limited to 'pkg/sentry/arch/arch.go')
-rw-r--r--pkg/sentry/arch/arch.go2
1 files changed, 1 insertions, 1 deletions
diff --git a/pkg/sentry/arch/arch.go b/pkg/sentry/arch/arch.go
index 021789e4b..0189e958d 100644
--- a/pkg/sentry/arch/arch.go
+++ b/pkg/sentry/arch/arch.go
@@ -158,7 +158,7 @@ type Context interface {
// rt is true if SignalRestore is being entered from rt_sigreturn and
// false if SignalRestore is being entered from sigreturn.
// SignalRestore returns the thread's new signal mask.
- SignalRestore(st *Stack, rt bool) (linux.SignalSet, error)
+ SignalRestore(st *Stack, rt bool) (linux.SignalSet, SignalStack, error)
// CPUIDEmulate emulates a CPUID instruction according to current register state.
CPUIDEmulate(l log.Logger)