diff options
author | Michael Pratt <mpratt@google.com> | 2018-06-21 14:53:05 -0700 |
---|---|---|
committer | Shentubot <shentubot@google.com> | 2018-06-21 14:53:55 -0700 |
commit | 2dedbc7211fb6b7f8b86148e6627054e781eaa87 (patch) | |
tree | 75ecc27e664f6dcf82c0833cd66b639aa1797b42 /pkg/sentry/kernel/signal.go | |
parent | f6be5fe6193163ad46722bc36209572da4a15ad0 (diff) |
Drop return from SendExternalSignal
SendExternalSignal is no longer called before CreateProcess, so it can
enforce this simplified precondition.
StartForwarding, and after Kernel.Start.
PiperOrigin-RevId: 201591170
Change-Id: Ib7022ef7895612d7d82a00942ab59fa433c4d6e9
Diffstat (limited to 'pkg/sentry/kernel/signal.go')
-rw-r--r-- | pkg/sentry/kernel/signal.go | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/pkg/sentry/kernel/signal.go b/pkg/sentry/kernel/signal.go index 8edd05cdf..e3a2a777a 100644 --- a/pkg/sentry/kernel/signal.go +++ b/pkg/sentry/kernel/signal.go @@ -15,6 +15,8 @@ package kernel import ( + "fmt" + "gvisor.googlesource.com/gvisor/pkg/abi/linux" "gvisor.googlesource.com/gvisor/pkg/log" "gvisor.googlesource.com/gvisor/pkg/sentry/arch" @@ -33,13 +35,11 @@ const SignalPanic = linux.SIGUSR2 // // context is used only for debugging to differentiate these cases. // -// Returns false if signal could not be sent because the Kernel is not fully -// initialized yet. -func (k *Kernel) sendExternalSignal(info *arch.SignalInfo, context string) bool { +// Preconditions: Kernel must have an init process. +func (k *Kernel) sendExternalSignal(info *arch.SignalInfo, context string) { switch linux.Signal(info.Signo) { case platform.SignalInterrupt: // Assume that a call to platform.Context.Interrupt() misfired. - return true case SignalPanic: // SignalPanic is also specially handled in sentry setup to ensure that @@ -50,13 +50,10 @@ func (k *Kernel) sendExternalSignal(info *arch.SignalInfo, context string) bool default: log.Infof("Received external signal %d in %s context", info.Signo, context) if k.globalInit == nil { - log.Warningf("Received external signal %d before init created", info.Signo) - return false + panic(fmt.Sprintf("Received external signal %d before init created", info.Signo)) } k.globalInit.SendSignal(info) } - - return true } // sigPriv returns a SignalInfo representing a signal sent by the sentry. (The |