gvisor/pkg/sentry/sighandling
Michael Pratt 169e2efc5a Continue handling signals after disabling forwarding
Before destroying the Kernel, we disable signal forwarding,
relinquishing control to the Go runtime. External signals that arrive
after disabling forwarding but before the sandbox exits thus may use
runtime.raise (i.e., tkill(2)) and violate the syscall filters.

Adjust forwardSignals to handle signals received after disabling
forwarding the same way they are handled before starting forwarding.
i.e., by implementing the standard Go runtime behavior using tgkill(2)
instead of tkill(2).

This also makes the stop callback block until forwarding actually stops.
This isn't required to avoid tkill(2) but is a saner interface.

PiperOrigin-RevId: 211995946
Change-Id: I3585841644409260eec23435cf65681ad41f5f03
2018-09-07 10:28:25 -07:00
..
BUILD stateify: support explicit annotation mode; convert refs and stack packages. 2018-07-27 10:17:21 -07:00
sighandling.go Continue handling signals after disabling forwarding 2018-09-07 10:28:25 -07:00
sighandling_unsafe.go Check in gVisor. 2018-04-28 01:44:26 -04:00