diff options
author | gVisor bot <gvisor-bot@google.com> | 2020-08-04 05:11:21 +0000 |
---|---|---|
committer | gVisor bot <gvisor-bot@google.com> | 2020-08-04 05:11:21 +0000 |
commit | d55f2a5f236090aa6f5ac4d4182acaec83fe568e (patch) | |
tree | cce1b6ee1f977afda3e439c76d75ee19d42c55c4 /pkg/sentry/kernel/task_clone.go | |
parent | d6c0fc04b85efe930627576bbb5d25edcb98be44 (diff) | |
parent | 25798f214c6d1991916906ea8fca9e7029a8c423 (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.go | 4 |
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)) |