summaryrefslogtreecommitdiffhomepage
path: root/pkg/sentry/strace/clone.go
diff options
context:
space:
mode:
authorJamie Liu <jamieliu@google.com>2021-06-10 12:38:21 -0700
committergVisor bot <gvisor-bot@google.com>2021-06-10 12:46:15 -0700
commit450692e03fe651d75d017c7e2faf4cba10e26f0b (patch)
tree579c71303ff410c284dbf0f3fa16c4e61689e097 /pkg/sentry/strace/clone.go
parent9ede1a6058131b50340427c8d0fd3a9ccef5e300 (diff)
Report task exit in /proc/[pid]/{stat,status} before task goroutine exit.
Between when runExitNotify.execute() returns nil (indicating that the task goroutine should exit) and when Task.run() advances Task.gosched.State to TaskGoroutineNonexistent (indicating that the task goroutine is exiting), there is a race window in which the Task is waitable (since TaskSet.mu is unlocked and Task.exitParentNotified is true) but will be reported by /proc/[pid]/status as running. Close the window by checking Task.exitState before task goroutine exit. PiperOrigin-RevId: 378711484
Diffstat (limited to 'pkg/sentry/strace/clone.go')
0 files changed, 0 insertions, 0 deletions