seccomp: arm: allow fstatat for xhci

glibc 2.33 uses the fstatat64 syscall to implement statx(), which is
called by the USB emulation code when a device is added. Allow it along
with fstat64 to fix a crash on USB device insertion.

aarch64 and x86_64 use the newfstatat syscall instead, so they do not
need to be adjusted.

BUG=chromium:1328120
TEST=Attach yubikey to Crostini on kevin

Change-Id: I6a592e25126a5baebdbc8839ba11b971950f4575
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/crosvm/+/3671085
Tested-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Dmitry Torokhov <dtor@chromium.org>
Commit-Queue: Daniel Verkamp <dverkamp@chromium.org>
(cherry picked from commit 67927318009002b074062acd9fcadfc4f14272e9)
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/crosvm/+/3682199
Reviewed-by: Dennis Kempin <denniskempin@google.com>
Tested-by: Daniel Verkamp <dverkamp@chromium.org>
1 file changed
tree: eedf9a70a7633036d8060b7bfe96000feb1bed78
  1. .cargo/
  2. .devcontainer/
  3. .github/
  4. aarch64/
  5. acpi_tables/
  6. arch/
  7. base/
  8. bin/
  9. bit_field/
  10. ci/
  11. common/
  12. cros_async/
  13. crosvm-fuzz/
  14. crosvm_control/
  15. crosvm_plugin/
  16. devices/
  17. disk/
  18. docs/
  19. fuse/
  20. gpu_display/
  21. hypervisor/
  22. infra/
  23. integration_tests/
  24. io_uring/
  25. kernel_cmdline/
  26. kernel_loader/
  27. kvm/
  28. kvm_sys/
  29. libcras_stub/
  30. linux_input_sys/
  31. logo/
  32. media/
  33. net_sys/
  34. net_util/
  35. power_monitor/
  36. protos/
  37. qcow_utils/
  38. resources/
  39. rutabaga_gfx/
  40. seccomp/
  41. serde_keyvalue/
  42. src/
  43. system_api_stub/
  44. tests/
  45. third_party/
  46. tools/
  47. tpm2/
  48. tpm2-sys/
  49. tube_transporter/
  50. usb_sys/
  51. usb_util/
  52. vfio_sys/
  53. vhost/
  54. virtio_sys/
  55. vm_control/
  56. vm_memory/
  57. win_util/
  58. x86_64/
  59. .dockerignore
  60. .gitignore
  61. .gitmodules
  62. .rustfmt.toml
  63. ARCHITECTURE.md
  64. Cargo.toml
  65. CONTRIBUTING.md
  66. LICENSE
  67. navbar.md
  68. OWNERS
  69. README.chromeos.md
  70. README.md
  71. run_tests
  72. rust-toolchain
  73. setup_cros_cargo.sh
  74. test_all
  75. unblocked_terms.txt
README.md

crosvm - The Chrome OS Virtual Machine Monitor

crosvm is a virtual machine monitor (VMM) based on Linux’s KVM hypervisor, with a focus on simplicity, security, and speed. crosvm is intended to run Linux guests, originally as a security boundary for running native applications on the Chrome OS platform. Compared to QEMU, crosvm doesn’t emulate architectures or real hardware, instead concentrating on paravirtualized devices, such as the virtio standard.

crosvm is currently used to run Linux/Android guests on Chrome OS devices.

Logo