crosvm/seccomp/x86_64/fs_device.policy
Chirantan Ekbote 4b47aa7105 fs: Fix device socket
validate_raw_fd assumes that the fd passed in was not created by crosvm
and returns EBADF if it sees that the fd has the FD_CLOEXEC flag set.
We can't use it for fds created by the fs device since those do have
that flag set.

We're already taking a `&dyn AsRawFd` as the parameter so just assume
it's valid and clone it directly since there's no safe way to create an
invalid one.

BUG=none
TEST=vm.Fio.virtiofs_dax* tests are no longer failing

Change-Id: I10d9752e0960143fb58a63d2b76f64d34ec464d0
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/crosvm/+/2809686
Tested-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Daniel Verkamp <dverkamp@chromium.org>
Reviewed-by: Zach Reizner <zachr@chromium.org>
Commit-Queue: Chirantan Ekbote <chirantan@chromium.org>
2021-04-09 08:04:30 +00:00

57 lines
1,021 B
Text

# Copyright 2019 The Chromium OS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
@include /usr/share/policy/crosvm/common_device.policy
copy_file_range: 1
fallocate: 1
fchdir: 1
fchmod: 1
fchmodat: 1
fchown: 1
fchownat: 1
fdatasync: 1
fgetxattr: 1
getxattr: 1
fsetxattr: 1
setxattr: 1
flistxattr: 1
listxattr: 1
fremovexattr: 1
removexattr: 1
fstatfs: 1
fsync: 1
ftruncate: 1
getdents64: 1
getegid: 1
geteuid: 1
getrandom: 1
ioctl: arg1 == FS_IOC_FSGETXATTR || \
arg1 == FS_IOC_FSSETXATTR || \
arg1 == FS_IOC_GETFLAGS || \
arg1 == FS_IOC_SETFLAGS || \
arg1 == FS_IOC_GET_ENCRYPTION_POLICY_EX
linkat: 1
lseek: 1
mkdir: 1
mkdirat: 1
mknodat: 1
newfstatat: 1
open: return ENOENT
openat: 1
preadv: 1
pwritev: 1
readlinkat: 1
renameat2: 1
setresgid: 1
setresuid: 1
symlinkat: 1
statx: 1
umask: 1
unlinkat: 1
utimensat: 1
prctl: arg0 == PR_SET_SECUREBITS || arg0 == PR_GET_SECUREBITS
capget: 1
capset: 1
fcntl: 1