summaryrefslogtreecommitdiffhomepage
path: root/pkg/sentry/kernel/task_clone.go
diff options
context:
space:
mode:
authorgVisor bot <gvisor-bot@google.com>2020-08-04 05:11:21 +0000
committergVisor bot <gvisor-bot@google.com>2020-08-04 05:11:21 +0000
commitd55f2a5f236090aa6f5ac4d4182acaec83fe568e (patch)
treecce1b6ee1f977afda3e439c76d75ee19d42c55c4 /pkg/sentry/kernel/task_clone.go
parentd6c0fc04b85efe930627576bbb5d25edcb98be44 (diff)
parent25798f214c6d1991916906ea8fca9e7029a8c423 (diff)
Merge release-20200622.1-318-g25798f214 (automated)
Diffstat (limited to 'pkg/sentry/kernel/task_clone.go')
-rw-r--r--pkg/sentry/kernel/task_clone.go4
1 files changed, 4 insertions, 0 deletions
diff --git a/pkg/sentry/kernel/task_clone.go b/pkg/sentry/kernel/task_clone.go
index fe6ba6041..9d7a9128f 100644
--- a/pkg/sentry/kernel/task_clone.go
+++ b/pkg/sentry/kernel/task_clone.go
@@ -161,6 +161,10 @@ func (t *Task) Clone(opts *CloneOptions) (ThreadID, *SyscallControl, error) {
return 0, nil, syserror.EINVAL
}
+ // Pull task registers and FPU state, a cloned task will inherit the
+ // state of the current task.
+ t.p.PullFullState(t.MemoryManager().AddressSpace(), t.Arch())
+
// "If CLONE_NEWUSER is specified along with other CLONE_NEW* flags in a
// single clone(2) or unshare(2) call, the user namespace is guaranteed to
// be created first, giving the child (clone(2)) or caller (unshare(2))