summaryrefslogtreecommitdiffhomepage
path: root/pkg/sentry
diff options
context:
space:
mode:
authorgVisor bot <gvisor-bot@google.com>2020-06-05 21:48:33 +0000
committergVisor bot <gvisor-bot@google.com>2020-06-05 21:48:33 +0000
commit87eb10c625e1c7df7ea6e9bbc32a686c1eaee71f (patch)
tree8351c6860aad9661881594964366780de36589b1 /pkg/sentry
parent1826919dce0094b586ff3346ff2b66cddb1f1acf (diff)
parent8c1f5b5cd8b634a5e7255944f42e82c5c9de3149 (diff)
Merge release-20200522.0-84-g8c1f5b5c (automated)
Diffstat (limited to 'pkg/sentry')
-rw-r--r--pkg/sentry/kernel/task_exec.go4
1 files changed, 4 insertions, 0 deletions
diff --git a/pkg/sentry/kernel/task_exec.go b/pkg/sentry/kernel/task_exec.go
index 00c425cca..9b69f3cbe 100644
--- a/pkg/sentry/kernel/task_exec.go
+++ b/pkg/sentry/kernel/task_exec.go
@@ -198,6 +198,10 @@ func (r *runSyscallAfterExecStop) execute(t *Task) taskRunState {
t.tg.oldRSeqCritical.Store(&OldRSeqCriticalRegion{})
t.tg.pidns.owner.mu.Unlock()
+ oldFDTable := t.fdTable
+ t.fdTable = t.fdTable.Fork()
+ oldFDTable.DecRef()
+
// Remove FDs with the CloseOnExec flag set.
t.fdTable.RemoveIf(func(_ *fs.File, _ *vfs.FileDescription, flags FDFlags) bool {
return flags.CloseOnExec