diff options
author | Jamie Liu <jamieliu@google.com> | 2020-04-14 13:36:36 -0700 |
---|---|---|
committer | gVisor bot <gvisor-bot@google.com> | 2020-04-14 13:37:51 -0700 |
commit | 52b4b19249adfeba65fe6f0ef27111f2ed887888 (patch) | |
tree | 0ff384d5b657190bddc48dc6870241ea83785edb /pkg/sentry/syscalls/linux/vfs2/filesystem.go | |
parent | ac9b32c36b40e51a77e44c0b82ecd349d77a4379 (diff) |
Pass O_LARGEFILE in syscalls/linux/vfs2.openat.
Needed for PipeTest_Flags: files opened by open() and openat() get O_LARGEFILE
(on architectures with 64-bit off_t), but not FDs created by other syscalls
such as pipe().
Updates #1035
PiperOrigin-RevId: 306504788
Diffstat (limited to 'pkg/sentry/syscalls/linux/vfs2/filesystem.go')
-rw-r--r-- | pkg/sentry/syscalls/linux/vfs2/filesystem.go | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/pkg/sentry/syscalls/linux/vfs2/filesystem.go b/pkg/sentry/syscalls/linux/vfs2/filesystem.go index a859095e2..46d3e189c 100644 --- a/pkg/sentry/syscalls/linux/vfs2/filesystem.go +++ b/pkg/sentry/syscalls/linux/vfs2/filesystem.go @@ -172,7 +172,7 @@ func openat(t *kernel.Task, dirfd int32, pathAddr usermem.Addr, flags uint32, mo defer tpop.Release() file, err := t.Kernel().VFS().OpenAt(t, t.Credentials(), &tpop.pop, &vfs.OpenOptions{ - Flags: flags, + Flags: flags | linux.O_LARGEFILE, Mode: linux.FileMode(mode & (0777 | linux.S_ISUID | linux.S_ISGID | linux.S_ISVTX) &^ t.FSContext().Umask()), }) if err != nil { |