No description
Find a file
Shintaro Kawamura 5454cbc5ae swap: handle region boundary correctly on swap in
https://crrev.com/c/5273351 fails with original implementation because
a page which is swapped out on the second swap out round is not swapped
in when vmm-swap is disabled, leading to the page unexpectedly being
zeroed.

This bug was introduced by https://crrev.com/c/5040208 which wrongly
handles the idx_range_in_file.start and region_tail_idx_in_file
boundary.

BUG=b:324344124
TEST=https://crrev.com/c/5273351

Change-Id: I31b8156bae5928f70cf85117df18235630b3f29d
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/5275254
Reviewed-by: David Stevens <stevensd@chromium.org>
Commit-Queue: Shin Kawamura <kawasin@google.com>
2024-02-08 06:55:06 +00:00
.cargo clippy: enforce safety block comments 2023-12-14 18:21:54 +00:00
.config dev_container: Pass through NEXTEST_PROFILE 2023-12-14 19:01:30 +00:00
.devcontainer dev_container: Replace better toml extension 2023-07-27 23:37:15 +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 devices: virtcpufreq: Add proxy syscall support through UDS 2024-02-02 03:39:54 +00:00
acpi_tables crosvm: Uprev zerocopy to 0.7.x 2023-10-10 17:34:32 +00:00
arch devices: virtcpufreq: Add proxy syscall support through UDS 2024-02-02 03:39:54 +00:00
argh_helpers Update to syn-2 2023-12-02 00:23:50 +00:00
audio_streams_conformance_test Rename "unix" to "linux" in code and docs 2023-10-11 01:15:07 +00:00
audio_util clippy: enforce safety block comments 2023-12-14 18:21:54 +00:00
base base: macos: add pipe() implementation 2024-02-01 19:38:14 +00:00
bit_field Update to syn-2 2023-12-02 00:23:50 +00:00
broker_ipc clippy: enforce safety block comments 2023-12-14 18:21:54 +00:00
common data_model: remove static_assertions dependency 2024-01-03 00:54:44 +00:00
cros_async base: linux: remove pipe() close_on_exec argument 2024-02-01 19:33:27 +00:00
cros_fdt cros_fdt: Do not apply children of filtered nodes 2024-01-22 10:37:57 +00:00
cros_tracing cros_tracing: fix interface drift. 2023-12-02 00:02:41 +00:00
cros_tracing_types clippy: enforce safety block comments 2023-12-14 18:21:54 +00:00
crosvm_cli Fix some cargo doc warnings in Windows-only code 2023-09-22 00:59:46 +00:00
crosvm_control clippy: enforce safety block comments 2023-12-14 18:21:54 +00:00
crosvm_plugin clippy: enforce safety block comments 2023-12-14 18:21:54 +00:00
devices crosvm: enable virtio-gpu fixed mapping by default for non-gpu-passthrough 2024-02-08 00:17:33 +00:00
disk cros_async: move punch hole special case into disk crate 2023-12-15 19:40:13 +00:00
docs/book docs: Fix link to the internal uprev playbook 2024-01-23 18:49:48 +00:00
e2e_tests guest_under_test: Apply virtio-pvclock guest kernel patch for testing 2024-01-29 08:37:47 +00:00
fuse devices: virtio: fs: Make atomic_open use negative dentry 2024-01-18 04:03:49 +00:00
fuzz devices: Add power management to virtio devices 2023-12-14 03:25:11 +00:00
gpu_display clippy: enforce safety block comments 2023-12-14 18:21:54 +00:00
hypervisor hypervisor: whpx: handle new VmCap::MemNoncoherentDma 2024-02-06 00:49:27 +00:00
infra Roll recipe dependencies (trivial). 2024-02-08 00:24:26 +00:00
io_uring base: linux: remove pipe() close_on_exec argument 2024-02-01 19:33:27 +00:00
jail jail: seccomp: Allow mkdir/mkdirat on ARM for mali shader debugging 2024-01-29 18:04:18 +00:00
kernel_cmdline Rust 1.65: Fix clippy derive_partial_eq_without_eq lints 2022-12-01 01:32:30 +00:00
kernel_loader kernel_loader: Reserve memory according to 'image_size' header field 2024-01-31 09:15:04 +00:00
kvm devices: apply new noncoherent attribute for GPU mem's cache info 2024-01-26 23:27:58 +00:00
kvm_sys devices: apply new noncoherent attribute for GPU mem's cache info 2024-01-26 23:27:58 +00:00
libcras_stub devices: snd: Use PCM device client_type and stream_type for CRAS 2023-03-02 06:22:40 +00:00
linux_input_sys linux_input_sys: simplify input event decoders 2024-01-11 02:44:19 +00:00
logo
media bindgen: regenerate all bindings with bindgen 0.68.1 2024-01-09 00:37:43 +00:00
metrics Use Duration instead of i64 for the metrics upload interval constant + use Instant instead of DateTime. 2024-02-07 22:35:14 +00:00
net_sys bindgen: update to Linux 6.6 headers 2024-01-09 00:37:43 +00:00
net_util windows: resolve clippy::unnecessary_cast warnings 2024-01-29 19:42:29 +00:00
perfetto cros_tracing: fix interface drift. 2023-12-02 00:02:41 +00:00
power_monitor Cargo.toml: upgrade protobuf 2.x -> 3.x 2023-04-28 19:32:01 +00:00
prebuilts Rename "unix" to "linux" in code and docs 2023-10-11 01:15:07 +00:00
proto_build_tools Cargo.toml: upgrade protobuf 2.x -> 3.x 2023-04-28 19:32:01 +00:00
protos clippy: enforce safety block comments 2023-12-14 18:21:54 +00:00
resources Fix clippy useless_conversion into_iter() warnings 2023-11-06 19:43:56 +00:00
riscv64 Clone host CPU capacity/clusters for --host-cpu-topology 2024-01-12 10:03:55 +00:00
rutabaga_gfx Cargo.toml: add vulkano as top-level feature 2024-02-08 00:17:33 +00:00
sandbox Add paste handling into the emulator 2023-09-08 21:29:23 +00:00
serde_keyvalue Update to syn-2 2023-12-02 00:23:50 +00:00
src crosvm: enable virtio-gpu fixed mapping by default for non-gpu-passthrough 2024-02-08 00:17:33 +00:00
swap swap: handle region boundary correctly on swap in 2024-02-08 06:55:06 +00:00
system_api Replace #[cfg(unix)] with #[cfg(any(target_os = "android", target_os = "linux"))] 2023-10-11 00:43:29 +00:00
tests clippy: enforce safety block comments 2023-12-14 18:21:54 +00:00
third_party rutabaga_gfx: Query cachability from minigbm 2024-02-01 21:34:17 +00:00
tools Cargo.toml: add vulkano as top-level feature 2024-02-08 00:17:33 +00:00
tube_transporter Fix some cargo doc warnings in Windows-only code 2023-09-22 00:59:46 +00:00
usb_sys clippy: enforce safety block comments 2023-12-14 18:21:54 +00:00
usb_util clippy: enforce safety block comments 2023-12-14 18:21:54 +00:00
vendor vm_control: gpu: remove kiwi feature 2023-10-24 23:19:03 +00:00
vfio_sys bindgen: update to Linux 6.6 headers 2024-01-09 00:37:43 +00:00
vhost clippy: enforce safety block comments 2023-12-14 18:21:54 +00:00
virtio_sys bindgen: update to Linux 6.6 headers 2024-01-09 00:37:43 +00:00
vm_control gpu: add fixed_blob_mapping to elide per-blob vMMU mapping setup 2024-02-08 00:04:57 +00:00
vm_memory base: emit Result from FileDataIterator 2024-01-23 01:23:53 +00:00
win_audio Run rustfmt on whole codebase with nightly enabled 2023-11-29 18:41:29 +00:00
win_util Run rustfmt on whole codebase with nightly enabled 2023-11-29 18:41:29 +00:00
x86_64 Clone host CPU capacity/clusters for --host-cpu-topology 2024-01-12 10:03:55 +00:00
.dockerignore
.envrc Automatically register tools/ on PATH 2023-03-03 00:33:15 +00:00
.gitattributes config: force lf as line endings 2023-11-07 17:38:58 +00:00
.gitignore Automatically register tools/ on PATH 2023-03-03 00:33:15 +00:00
.gitmodules devices: remove --software-tpm support 2023-10-02 23:28:45 +00:00
.rustfmt.toml Enable rustfmt nightly in container and CI 2023-11-29 18:41:29 +00:00
ARCHITECTURE.md docs: book: update architecture docs 2023-06-01 22:37:17 +00:00
Cargo.lock Cargo.lock: update to shlex 1.3 2024-01-24 23:11:36 +00:00
Cargo.toml Cargo.toml: add vulkano as top-level feature 2024-02-08 00:17:33 +00:00
CONTRIBUTING.md doc: fix broken building_crosvm links 2024-01-08 21:16:45 +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 crosvm: add fmayle@ to OWNERS 2023-10-27 18:10:14 +00:00
OWNERS_COUNCIL Require council review for changes to Cargo.lock 2022-12-01 18:50:48 +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 Fix remaining Chrome/Chromium OS instances 2023-01-03 22:14:30 +00:00
rust-toolchain Upgrade to 1.68.2: Set default version and rebuild container 2023-05-25 18:30:55 +00:00

crosvm - The ChromeOS 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 ChromeOS 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 ChromeOS devices.

Logo