No description
Find a file
Daniel Verkamp a323861bf5 p9: set filetype from directory to file in lcreate
The 9p lcreate operation takes a directory fid as input and creates a
file in that directory; when the operation completes, the same fid
becomes a reference to the newly-created file. We updated the internal
self.fids structure's file and path fields to point to the new file, but
we neglected to update the filetype field, which would remain as the
original FileType::Directory.

This caused an issue with commit 53cd18e062 ("p9: use *at() functions
for set_attr"), since that change causes set_attr requests to validate
the filetype is not a directory when attempting to set its length.

BUG=b:253838039
TEST=tast run <...>.DefaultSharedFolder

Change-Id: Ie46a660dd4616d669c924014e704e9b5703eb7e9
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/3983116
Reviewed-by: Joel Hockey <joelhockey@chromium.org>
Commit-Queue: Daniel Verkamp <dverkamp@chromium.org>
2022-10-26 23:23:53 +00:00
.cargo health-check: Add check for newline at ends of files 2022-08-18 00:17:04 +00:00
.devcontainer dev_container: Fix vscode integration 2022-09-14 00:16:38 +00:00
.github Cleanup: Remove old, deprecated and no longer used files 2022-09-20 21:05:57 +00:00
.vscode Document feature flags and introduce new feature sets 2022-10-14 20:31:19 +00:00
aarch64 aarch64: Fix Goldfish battery to send IRQ correctly 2022-10-25 01:02:33 +00:00
acpi_tables acpi: Add More AML objects 2022-10-11 13:32:01 +00:00
anti_tamper Update all copyright headers to match new style 2022-09-13 18:41:29 +00:00
arch arch: split fdt code into its own crate 2022-10-19 17:43:19 +00:00
argh_helpers Update all copyright headers to match new style 2022-09-13 18:41:29 +00:00
base base: Extract integration tests 2022-10-24 22:49:29 +00:00
bit_field Update all copyright headers to match new style 2022-09-13 18:41:29 +00:00
broker_ipc crash-report: Build with feature crash-report 2022-09-28 14:45:00 +00:00
common p9: set filetype from directory to file in lcreate 2022-10-26 23:23:53 +00:00
crash_report crash_report: Update Cargo.toml dependency for windows cfg. 2022-10-11 16:54:37 +00:00
cros_async base: event: add Event::reset() API 2022-10-20 21:04:14 +00:00
cros_fdt arch: split fdt code into its own crate 2022-10-19 17:43:19 +00:00
cros_tracing tracing: rename tracing to cros_tracing. 2022-10-17 20:49:16 +00:00
crosvm-fuzz base: cross platform Event API 2022-10-19 20:17:42 +00:00
crosvm_cli devices: add err code for disk image open failed. 2022-10-20 20:27:58 +00:00
crosvm_control Update all copyright headers to match new style 2022-09-13 18:41:29 +00:00
crosvm_plugin Remove plugin-render-server feature 2022-10-14 20:31:19 +00:00
devices Extract devices integration tests 2022-10-26 17:53:08 +00:00
disk devices: virtio: block: impl DiskOption::open for Windows 2022-09-20 03:42:20 +00:00
docs/book docs: Replace crbug link with issuetracker.google.com 2022-10-18 06:22:41 +00:00
fuse Update all copyright headers to match new style 2022-09-13 18:41:29 +00:00
gpu_display gpu: handle unexpected compositor disconnections 2022-10-25 21:39:45 +00:00
hypervisor base: cross platform Event API 2022-10-19 20:17:42 +00:00
infra infra: Add build_chromeos_container builder 2022-10-26 23:05:08 +00:00
integration_tests integration_tests: add tests for disk resize command 2022-10-17 23:59:37 +00:00
io_uring cros_async: fix io at current file pos for io_uring 2022-09-30 20:32:02 +00:00
kernel_cmdline Update all copyright headers to match new style 2022-09-13 18:41:29 +00:00
kernel_loader cargo doc: fix warnings 2022-10-06 20:23:59 +00:00
kvm aarch64: Expose MTE to guests 2022-09-13 21:05:15 +00:00
kvm_sys bindgen: update bindings to Linux 5.15 2022-09-14 22:09:30 +00:00
libcras_stub tree-wide: apply cargo fmt --nightly 2022-10-03 21:39:26 +00:00
linux_input_sys Update all copyright headers to match new style 2022-09-13 18:41:29 +00:00
logo
media media: libvda: allow to build without linking to libvda 2022-10-21 13:57:31 +00:00
metrics base: cross platform Event API 2022-10-19 20:17:42 +00:00
net_sys tree-wide: use "crosvm" capitalization everywhere 2022-10-07 01:10:12 +00:00
net_util base: cross platform Event API 2022-10-19 20:17:42 +00:00
power_monitor power_monitor: Enable feature in all-linux 2022-09-20 21:06:47 +00:00
prebuilts prebuilts: move prebuilts tests under tests 2022-10-07 15:54:37 +00:00
protos Update all copyright headers to match new style 2022-09-13 18:41:29 +00:00
qcow_utils Update all copyright headers to match new style 2022-09-13 18:41:29 +00:00
resources resources: reject unknown fields when deserializing AddressRange 2022-10-24 02:56:12 +00:00
rutabaga_gfx gfxstream: Enable the feature upstream via stub backend 2022-10-20 20:22:23 +00:00
sandbox sandbox: Add a README 2022-10-13 16:25:08 +00:00
seccomp seccomp: add lseek to all devices 2022-10-18 06:39:41 +00:00
serde_keyvalue serde_keyvalue: allow parsing of inner structs 2022-10-26 17:41:37 +00:00
src crosvm: allow several video devices to be instantiated 2022-10-26 07:56:46 +00:00
system_api Fix compilation with vtpm enabled 2022-09-29 17:17:21 +00:00
tests Document feature flags and introduce new feature sets 2022-10-14 20:31:19 +00:00
third_party devices: vhost-user: add protocol flag for shmem 2022-10-21 01:09:07 +00:00
tools infra: Add build_chromeos_container builder 2022-10-26 23:05:08 +00:00
tpm2 Update all copyright headers to match new style 2022-09-13 18:41:29 +00:00
tpm2-sys Update all copyright headers to match new style 2022-09-13 18:41:29 +00:00
tube_transporter base: cross platform Event API 2022-10-19 20:17:42 +00:00
usb_sys Update all copyright headers to match new style 2022-09-13 18:41:29 +00:00
usb_util Update all copyright headers to match new style 2022-09-13 18:41:29 +00:00
vfio_sys vfio_pci: add support for runtime power management 2022-10-10 10:56:05 +00:00
vhost Update all copyright headers to match new style 2022-09-13 18:41:29 +00:00
virtio_sys bindgen: update bindings to Linux 5.15 2022-09-14 22:09:30 +00:00
vm_control base: cross platform Event API 2022-10-19 20:17:42 +00:00
vm_memory aarch64: Don't include pVM firmware region in memory size calculation. 2022-10-12 17:42:33 +00:00
win_audio base: remove Windows EventExt::new_with_manual_reset() 2022-10-20 21:15:41 +00:00
win_util crosvm: move enum ProcessType to win_util. 2022-09-21 19:28:49 +00:00
x86_64 arch: split fdt code into its own crate 2022-10-19 17:43:19 +00:00
.dockerignore
.gitignore Add python configs for consistency between IDE and CI 2022-08-16 18:33:23 +00:00
.gitmodules health-check: Add infra checks 2022-08-18 00:17:04 +00:00
.rustfmt.toml rustfmt, win_util: update to 2021 edition 2022-05-31 23:35:02 +00:00
ARCHITECTURE.md arch: allocate reserved PCI addresses first 2022-08-01 18:57:44 +00:00
build.rs Modify builds via CROSVM_BUILD_VARIANT env var 2022-10-04 21:23:00 +00:00
Cargo.lock Bump scudo and enable corresponding feature 2022-10-24 17:40:47 +00:00
Cargo.toml Bump scudo and enable corresponding feature 2022-10-24 17:40:47 +00:00
CONTRIBUTING.md CONTRIBUTING: Add a section about commit messages' format 2022-10-19 06:22:42 +00:00
DIR_METADATA DIR_METADATA: Add public buganizer component 2022-09-21 17:43:59 +00:00
LICENSE Update all copyright headers to match new style 2022-09-13 18:41:29 +00:00
mypy.ini Add python configs for consistency between IDE and CI 2022-08-16 18:33:23 +00:00
OWNERS Add rizhang@ to OWNERS 2022-08-17 01:14:13 +00:00
PRESUBMIT.cfg Cleanup: Remove old, deprecated and no longer used files 2022-09-20 21:05:57 +00:00
pyproject.toml Add python configs for consistency between IDE and CI 2022-08-16 18:33:23 +00:00
README.chromeos.md crosvm: update book and doc links to crosvm.dev 2022-07-29 22:54:01 +00:00
README.md docs: Replace crbug link with issuetracker.google.com 2022-10-18 06:22:41 +00:00
rust-toolchain dev_container: Upgrade to debian bookworm 2022-09-14 22:32:36 +00:00

crosvm - The Chrome OS Virtual Machine Monitor

crosvm is a virtual machine monitor (VMM) based on Linuxs 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 doesnt 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