From b935311e2371abdbceba89294d0001905f2658d5 Mon Sep 17 00:00:00 2001 From: Jamie Liu Date: Fri, 31 Aug 2018 14:16:36 -0700 Subject: [PATCH] Do not use fs.FileOwnerFromContext in fs/proc.file.UnstableAttr(). From //pkg/sentry/context/context.go: // - It is *not safe* to retain a Context passed to a function beyond the scope // of that function call. Passing a stored kernel.Task as a context.Context to fs.FileOwnerFromContext violates this requirement. PiperOrigin-RevId: 211143021 Change-Id: I4c5b02bd941407be4c9cfdbcbdfe5a26acaec037 --- pkg/sentry/fs/proc/file.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkg/sentry/fs/proc/file.go b/pkg/sentry/fs/proc/file.go index 4b2d08e75..4b3448245 100644 --- a/pkg/sentry/fs/proc/file.go +++ b/pkg/sentry/fs/proc/file.go @@ -51,7 +51,8 @@ func (f *file) UnstableAttr(ctx context.Context, inode *fs.Inode) (fs.UnstableAt return fs.UnstableAttr{}, err } if f.t != nil { - uattr.Owner = fs.FileOwnerFromContext(f.t) + creds := f.t.Credentials() + uattr.Owner = fs.FileOwner{creds.EffectiveKUID, creds.EffectiveKGID} } return uattr, nil }