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
This commit is contained in:
Jamie Liu 2018-08-31 14:16:36 -07:00 committed by Shentubot
parent 098046ba19
commit b935311e23
1 changed files with 2 additions and 1 deletions

View File

@ -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
}