diff options
author | Dean Deng <deandeng@google.com> | 2020-03-26 16:46:15 -0700 |
---|---|---|
committer | gVisor bot <gvisor-bot@google.com> | 2020-03-26 16:47:20 -0700 |
commit | 137f3614009b0ef931c1d00a083b4ae8e6a39bc9 (patch) | |
tree | 0411beb065a44e5a42e2e5d272d13d4aa5a190c0 /pkg/sentry/fs/host/control.go | |
parent | edc3c049eb553fcbf32f4a6b515141a26c5609d4 (diff) |
Use host-defined file owner and mode, when possible, for imported fds.
Using the host-defined file owner matches VFS1. It is more correct to use the
host-defined mode, since the cached value may become out of date. However,
kernfs.Inode.Mode() does not return an error--other filesystems on kernfs are
in-memory so retrieving mode should not fail. Therefore, if the host syscall
fails, we rely on a cached value instead.
Updates #1672.
PiperOrigin-RevId: 303220864
Diffstat (limited to 'pkg/sentry/fs/host/control.go')
-rw-r--r-- | pkg/sentry/fs/host/control.go | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/pkg/sentry/fs/host/control.go b/pkg/sentry/fs/host/control.go index cd84e1337..52c0504b6 100644 --- a/pkg/sentry/fs/host/control.go +++ b/pkg/sentry/fs/host/control.go @@ -78,7 +78,7 @@ func fdsToFiles(ctx context.Context, fds []int) []*fs.File { } // Create the file backed by hostFD. - file, err := NewFile(ctx, fd, fs.FileOwnerFromContext(ctx)) + file, err := NewFile(ctx, fd) if err != nil { ctx.Warningf("Error creating file from host FD: %v", err) break |