summaryrefslogtreecommitdiffhomepage
path: root/pkg/sentry/fs/proc
diff options
context:
space:
mode:
authorJamie Liu <jamieliu@google.com>2018-08-31 14:16:36 -0700
committerShentubot <shentubot@google.com>2018-08-31 14:17:56 -0700
commitb935311e2371abdbceba89294d0001905f2658d5 (patch)
treed076997096280a1bf29b8bbed1f9f5f15bef2925 /pkg/sentry/fs/proc
parent098046ba193b839d69c059f7a0e68c89409b4237 (diff)
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
Diffstat (limited to 'pkg/sentry/fs/proc')
-rw-r--r--pkg/sentry/fs/proc/file.go3
1 files changed, 2 insertions, 1 deletions
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
}