From 9c407382b031f16160f83383ef8b0d419457829a Mon Sep 17 00:00:00 2001 From: Ian Gudger Date: Tue, 21 Aug 2018 11:15:15 -0700 Subject: [PATCH] Fix races in kernel.(*Task).Value() PiperOrigin-RevId: 209627180 Change-Id: Idc84afd38003427e411df6e75abfabd9174174e1 --- pkg/sentry/kernel/task.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/pkg/sentry/kernel/task.go b/pkg/sentry/kernel/task.go index 19029adb1..0f83c0a39 100644 --- a/pkg/sentry/kernel/task.go +++ b/pkg/sentry/kernel/task.go @@ -568,12 +568,18 @@ func (t *Task) Value(key interface{}) interface{} { case CtxPIDNamespace: return t.tg.pidns case CtxUTSNamespace: + t.mu.Lock() + defer t.mu.Unlock() return t.utsns case CtxIPCNamespace: + t.mu.Lock() + defer t.mu.Unlock() return t.ipcns case CtxTask: return t case auth.CtxCredentials: + t.mu.Lock() + defer t.mu.Unlock() return t.creds case context.CtxThreadGroupID: return int32(t.ThreadGroup().ID())