Bo Chen
00e106e53e
build: Release v51.0
...
This release contains security fixes. Details can be found in the
release notes.
Signed-off-by: Bo Chen <bchen@crusoe.ai >
2026-02-19 16:28:52 -08:00
Rob Bradford
a63315df54
virtio-devices, block: Reject sector 0 discard/"write zeroes" requests
...
As well as rejecting writes to sector 0 in the case of raw files where
the user hasn't specified the image_type also reject virtio requests of
type discard and write_zeroes.
Signed-off-by: Rob Bradford <rbradford@meta.com >
2026-02-19 22:43:15 +00:00
Rob Bradford
76e233504b
vhost_user_block: Disable use of backing files in test implementation
...
Remove the use of QCOW2 backing files in the test implementation used
for CI.
Signed-off-by: Rob Bradford <rbradford@meta.com >
2026-02-19 22:43:15 +00:00
Rob Bradford
b3e8e2abc5
vmm, virtio-devices: Deny zero sector writes for autodetected raw images
...
If the disk image was autodetected to raw (not specified with image_type
= 0) then in the virtio-block subsystem generate errors for writes to
block 0 (treat as if read-only). This gives an immediate error vs using
the image implementations in the block subsystem.
Signed-off-by: Rob Bradford <rbradford@meta.com >
2026-02-19 22:43:15 +00:00
Rob Bradford
6f2357c14e
vmm: Improve resiliency of image type handling
...
Add an image_type to DiskConfig to specify the image type. If none is
specified autodetect the image type but disable potentially unsafe
behaviour in the QCOW2 backend by disabling the backing file support.
If the image type is autodetected then fix it in the config so that it
will be persistant across reboots and migrations/snapshot & restores.
This also handles the case where the image type was not specified as
part of the disk configuration.
Signed-off-by: Rob Bradford <rbradford@meta.com >
2026-02-19 22:43:15 +00:00
Anatol Belski
e36096db3e
vmm: openapi: Sync DiskConfig OpenAPI spec
...
Add backing_files and sparse fields to the REST API.
Signed-off-by: Anatol Belski <anbelski@linux.microsoft.com >
2026-02-19 19:09:03 +00:00
Anatol Belski
4d30ba12c8
block: qcow: Add test for BackingFilesDisabled error
...
Verify that opening a QCOW2 image with a backing file reference
through QcowDiskSync with backing_files=off produces the user-facing
BackingFilesDisabled error rather than MaxNestingDepthExceeded.
Signed-off-by: Anatol Belski <anbelski@linux.microsoft.com >
2026-02-19 13:48:40 +00:00
Anatol Belski
94368c622e
block: Add BackingFilesDisabled error for actionable user guidance
...
When a QCOW2 image has a backing file but backing_files=on is not set,
the error was MaxNestingDepthExceeded which gives no indication that
this is a policy decision or how to resolve it.
Add a BackingFilesDisabled error variant whose message indicates that
backing file support is disabled and references the backing_files
option. The translation from MaxNestingDepthExceeded to
BackingFilesDisabled happens at the QcowDiskSync boundary where the
policy decision is made, preserving the original error for genuine
recursive depth exhaustion.
Signed-off-by: Anatol Belski <anbelski@linux.microsoft.com >
2026-02-19 13:48:40 +00:00
Anirudh Rayabharam
68f746fbea
hypervisor: mshv: use the new default partition args function
...
The 0.6.7 version of the mshv crates introduced a new version of
make_default_partition_create_arg inside `struct Mshv`. This version
queries the available processor features on the host and gives the same
feature set to the guests.
Move Cloud Hypervisor to this new function.
Signed-off-by: Anirudh Rayabharam <anrayabh@microsoft.com >
2026-02-18 13:58:08 +00:00
Rob Bradford
003ef780e0
build: Bump to latest igvm released version 0.4.0
...
Signed-off-by: Rob Bradford <rbradford@meta.com >
2026-02-18 13:45:13 +00:00
Saravanan D
17b0749e1c
tests: Fix Generic Initiator integration test
...
test_guest_numa_generic_initiator was missing the #[test] attribute and
did not match the VFIO CI filter pattern "vfio::test_nvidia"
Add #[test] and rename to test_nvidia_guest_numa_generic_initiator so
the existing CI infrastructure picks it up on the vfio-nvidia runner.
Fixes : #7718
Signed-off-by: Saravanan D <saravanand@crusoe.ai >
2026-02-18 11:13:07 +00:00
Saravanan D
924baa9c0f
vmm: Forward device_id from NumaConfig to NumaNode
...
The device_id field was added to both NumaConfig and NumaNode as part
of the Generic Initiator support, but create_numa_nodes() change
was missed when the commits were reorganized.
As a result, node.device_id is never propogated from the config to
the runtime node and the ACPI SRAT Type 5 (Generic Initiator Affinity)
entries were never emitted.
Add the missing propogation so that create_srat_table() can resolve
the device and emit the correct affinity structure
Fixes : #7717
Signed-off-by: Saravanan D <saravanand@crusoe.ai >
2026-02-18 11:13:07 +00:00
Wei Liu
0a5e79afce
vmm: api: Expose the nested option in API description
...
Signed-off-by: Wei Liu <liuwe@microsoft.com >
2026-02-17 23:39:44 +00:00
dependabot[bot]
08f338bcf6
build: Bump the non-rust-vmm group across 2 directories with 27 updates
...
Bumps the non-rust-vmm group with 14 updates in the / directory:
| Package | From | To |
| --- | --- | --- |
| [bitflags](https://github.com/bitflags/bitflags ) | `2.10.0` | `2.11.0` |
| [clap](https://github.com/clap-rs/clap ) | `4.5.57` | `4.5.59` |
| [env_logger](https://github.com/rust-cli/env_logger ) | `0.11.8` | `0.11.9` |
| [libc](https://github.com/rust-lang/libc ) | `0.2.181` | `0.2.182` |
| [uuid](https://github.com/uuid-rs/uuid ) | `1.20.0` | `1.21.0` |
| [arc-swap](https://github.com/vorner/arc-swap ) | `1.8.1` | `1.8.2` |
| [futures](https://github.com/rust-lang/futures-rs ) | `0.3.31` | `0.3.32` |
| [async-executor](https://github.com/smol-rs/async-executor ) | `1.13.3` | `1.14.0` |
| [cc](https://github.com/rust-lang/cc-rs ) | `1.2.55` | `1.2.56` |
| [jiff](https://github.com/BurntSushi/jiff ) | `0.2.19` | `0.2.20` |
| [syn](https://github.com/dtolnay/syn ) | `2.0.114` | `2.0.116` |
| [toml_parser](https://github.com/toml-rs/toml ) | `1.0.6+spec-1.1.0` | `1.0.9+spec-1.1.0` |
| [unicode-ident](https://github.com/dtolnay/unicode-ident ) | `1.0.23` | `1.0.24` |
| [zmij](https://github.com/dtolnay/zmij ) | `1.0.20` | `1.0.21` |
Bumps the non-rust-vmm group with 13 updates in the /fuzz directory:
| Package | From | To |
| --- | --- | --- |
| [bitflags](https://github.com/bitflags/bitflags ) | `2.10.0` | `2.11.0` |
| [clap](https://github.com/clap-rs/clap ) | `4.5.57` | `4.5.59` |
| [libc](https://github.com/rust-lang/libc ) | `0.2.181` | `0.2.182` |
| [uuid](https://github.com/uuid-rs/uuid ) | `1.20.0` | `1.21.0` |
| [arc-swap](https://github.com/vorner/arc-swap ) | `1.8.1` | `1.8.2` |
| [cc](https://github.com/rust-lang/cc-rs ) | `1.2.55` | `1.2.56` |
| [futures-core](https://github.com/rust-lang/futures-rs ) | `0.3.31` | `0.3.32` |
| [futures-sink](https://github.com/rust-lang/futures-rs ) | `0.3.31` | `0.3.32` |
| [syn](https://github.com/dtolnay/syn ) | `2.0.114` | `2.0.116` |
| [toml_parser](https://github.com/toml-rs/toml ) | `1.0.6+spec-1.1.0` | `1.0.9+spec-1.1.0` |
| [unicode-ident](https://github.com/dtolnay/unicode-ident ) | `1.0.23` | `1.0.24` |
| [zmij](https://github.com/dtolnay/zmij ) | `1.0.20` | `1.0.21` |
| [libfuzzer-sys](https://github.com/rust-fuzz/libfuzzer ) | `0.4.10` | `0.4.12` |
Updates `bitflags` from 2.10.0 to 2.11.0
- [Release notes](https://github.com/bitflags/bitflags/releases )
- [Changelog](https://github.com/bitflags/bitflags/blob/main/CHANGELOG.md )
- [Commits](https://github.com/bitflags/bitflags/compare/2.10.0...2.11.0 )
Updates `clap` from 4.5.57 to 4.5.59
- [Release notes](https://github.com/clap-rs/clap/releases )
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md )
- [Commits](https://github.com/clap-rs/clap/compare/clap_complete-v4.5.57...clap_complete-v4.5.59 )
Updates `env_logger` from 0.11.8 to 0.11.9
- [Release notes](https://github.com/rust-cli/env_logger/releases )
- [Changelog](https://github.com/rust-cli/env_logger/blob/main/CHANGELOG.md )
- [Commits](https://github.com/rust-cli/env_logger/compare/v0.11.8...v0.11.9 )
Updates `libc` from 0.2.181 to 0.2.182
- [Release notes](https://github.com/rust-lang/libc/releases )
- [Changelog](https://github.com/rust-lang/libc/blob/0.2.182/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/libc/compare/0.2.181...0.2.182 )
Updates `uuid` from 1.20.0 to 1.21.0
- [Release notes](https://github.com/uuid-rs/uuid/releases )
- [Commits](https://github.com/uuid-rs/uuid/compare/v1.20.0...v1.21.0 )
Updates `arc-swap` from 1.8.1 to 1.8.2
- [Changelog](https://github.com/vorner/arc-swap/blob/master/CHANGELOG.md )
- [Commits](https://github.com/vorner/arc-swap/compare/v1.8.1...v1.8.2 )
Updates `futures` from 0.3.31 to 0.3.32
- [Release notes](https://github.com/rust-lang/futures-rs/releases )
- [Changelog](https://github.com/rust-lang/futures-rs/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/futures-rs/compare/0.3.31...0.3.32 )
Updates `async-executor` from 1.13.3 to 1.14.0
- [Release notes](https://github.com/smol-rs/async-executor/releases )
- [Changelog](https://github.com/smol-rs/async-executor/blob/master/CHANGELOG.md )
- [Commits](https://github.com/smol-rs/async-executor/compare/v1.13.3...v1.14.0 )
Updates `cc` from 1.2.55 to 1.2.56
- [Release notes](https://github.com/rust-lang/cc-rs/releases )
- [Changelog](https://github.com/rust-lang/cc-rs/blob/main/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/cc-rs/compare/cc-v1.2.55...cc-v1.2.56 )
Updates `clap_builder` from 4.5.57 to 4.5.59
- [Release notes](https://github.com/clap-rs/clap/releases )
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md )
- [Commits](https://github.com/clap-rs/clap/compare/v4.5.57...v4.5.59 )
Updates `clap_lex` from 0.7.7 to 1.0.0
- [Release notes](https://github.com/clap-rs/clap/releases )
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md )
- [Commits](https://github.com/clap-rs/clap/compare/clap_lex-v0.7.7...clap_lex-v1.0.0 )
Updates `env_filter` from 0.1.4 to 1.0.0
- [Release notes](https://github.com/rust-cli/env_logger/releases )
- [Changelog](https://github.com/rust-cli/env_logger/blob/main/CHANGELOG.md )
- [Commits](https://github.com/rust-cli/env_logger/compare/env_filter-v0.1.4...env_filter-v1.0.0 )
Updates `futures-channel` from 0.3.31 to 0.3.32
- [Release notes](https://github.com/rust-lang/futures-rs/releases )
- [Changelog](https://github.com/rust-lang/futures-rs/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/futures-rs/compare/0.3.31...0.3.32 )
Updates `futures-core` from 0.3.31 to 0.3.32
- [Release notes](https://github.com/rust-lang/futures-rs/releases )
- [Changelog](https://github.com/rust-lang/futures-rs/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/futures-rs/compare/0.3.31...0.3.32 )
Updates `futures-executor` from 0.3.31 to 0.3.32
- [Release notes](https://github.com/rust-lang/futures-rs/releases )
- [Changelog](https://github.com/rust-lang/futures-rs/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/futures-rs/compare/0.3.31...0.3.32 )
Updates `futures-io` from 0.3.31 to 0.3.32
- [Release notes](https://github.com/rust-lang/futures-rs/releases )
- [Changelog](https://github.com/rust-lang/futures-rs/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/futures-rs/compare/0.3.31...0.3.32 )
Updates `futures-macro` from 0.3.31 to 0.3.32
- [Release notes](https://github.com/rust-lang/futures-rs/releases )
- [Changelog](https://github.com/rust-lang/futures-rs/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/futures-rs/compare/0.3.31...0.3.32 )
Updates `futures-sink` from 0.3.31 to 0.3.32
- [Release notes](https://github.com/rust-lang/futures-rs/releases )
- [Changelog](https://github.com/rust-lang/futures-rs/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/futures-rs/compare/0.3.31...0.3.32 )
Updates `futures-task` from 0.3.31 to 0.3.32
- [Release notes](https://github.com/rust-lang/futures-rs/releases )
- [Changelog](https://github.com/rust-lang/futures-rs/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/futures-rs/compare/0.3.31...0.3.32 )
Updates `futures-util` from 0.3.31 to 0.3.32
- [Release notes](https://github.com/rust-lang/futures-rs/releases )
- [Changelog](https://github.com/rust-lang/futures-rs/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/futures-rs/compare/0.3.31...0.3.32 )
Updates `jiff` from 0.2.19 to 0.2.20
- [Release notes](https://github.com/BurntSushi/jiff/releases )
- [Changelog](https://github.com/BurntSushi/jiff/blob/master/CHANGELOG.md )
- [Commits](https://github.com/BurntSushi/jiff/compare/jiff-static-0.2.19...jiff-static-0.2.20 )
Updates `jiff-static` from 0.2.19 to 0.2.20
- [Release notes](https://github.com/BurntSushi/jiff/releases )
- [Changelog](https://github.com/BurntSushi/jiff/blob/master/CHANGELOG.md )
- [Commits](https://github.com/BurntSushi/jiff/compare/jiff-static-0.2.19...jiff-static-0.2.20 )
Updates `syn` from 2.0.114 to 2.0.116
- [Release notes](https://github.com/dtolnay/syn/releases )
- [Commits](https://github.com/dtolnay/syn/compare/2.0.114...2.0.116 )
Updates `toml_parser` from 1.0.6+spec-1.1.0 to 1.0.9+spec-1.1.0
- [Commits](https://github.com/toml-rs/toml/compare/toml_parser-v1.0.6...toml_parser-v1.0.9 )
Updates `unicode-ident` from 1.0.23 to 1.0.24
- [Release notes](https://github.com/dtolnay/unicode-ident/releases )
- [Commits](https://github.com/dtolnay/unicode-ident/compare/1.0.23...1.0.24 )
Updates `zmij` from 1.0.20 to 1.0.21
- [Release notes](https://github.com/dtolnay/zmij/releases )
- [Commits](https://github.com/dtolnay/zmij/compare/1.0.20...1.0.21 )
Updates `bitflags` from 2.10.0 to 2.11.0
- [Release notes](https://github.com/bitflags/bitflags/releases )
- [Changelog](https://github.com/bitflags/bitflags/blob/main/CHANGELOG.md )
- [Commits](https://github.com/bitflags/bitflags/compare/2.10.0...2.11.0 )
Updates `clap` from 4.5.57 to 4.5.59
- [Release notes](https://github.com/clap-rs/clap/releases )
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md )
- [Commits](https://github.com/clap-rs/clap/compare/clap_complete-v4.5.57...clap_complete-v4.5.59 )
Updates `libc` from 0.2.181 to 0.2.182
- [Release notes](https://github.com/rust-lang/libc/releases )
- [Changelog](https://github.com/rust-lang/libc/blob/0.2.182/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/libc/compare/0.2.181...0.2.182 )
Updates `uuid` from 1.20.0 to 1.21.0
- [Release notes](https://github.com/uuid-rs/uuid/releases )
- [Commits](https://github.com/uuid-rs/uuid/compare/v1.20.0...v1.21.0 )
Updates `arc-swap` from 1.8.1 to 1.8.2
- [Changelog](https://github.com/vorner/arc-swap/blob/master/CHANGELOG.md )
- [Commits](https://github.com/vorner/arc-swap/compare/v1.8.1...v1.8.2 )
Updates `cc` from 1.2.55 to 1.2.56
- [Release notes](https://github.com/rust-lang/cc-rs/releases )
- [Changelog](https://github.com/rust-lang/cc-rs/blob/main/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/cc-rs/compare/cc-v1.2.55...cc-v1.2.56 )
Updates `clap_builder` from 4.5.57 to 4.5.59
- [Release notes](https://github.com/clap-rs/clap/releases )
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md )
- [Commits](https://github.com/clap-rs/clap/compare/v4.5.57...v4.5.59 )
Updates `clap_lex` from 0.7.7 to 1.0.0
- [Release notes](https://github.com/clap-rs/clap/releases )
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md )
- [Commits](https://github.com/clap-rs/clap/compare/clap_lex-v0.7.7...clap_lex-v1.0.0 )
Updates `futures-core` from 0.3.31 to 0.3.32
- [Release notes](https://github.com/rust-lang/futures-rs/releases )
- [Changelog](https://github.com/rust-lang/futures-rs/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/futures-rs/compare/0.3.31...0.3.32 )
Updates `futures-sink` from 0.3.31 to 0.3.32
- [Release notes](https://github.com/rust-lang/futures-rs/releases )
- [Changelog](https://github.com/rust-lang/futures-rs/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/futures-rs/compare/0.3.31...0.3.32 )
Updates `syn` from 2.0.114 to 2.0.116
- [Release notes](https://github.com/dtolnay/syn/releases )
- [Commits](https://github.com/dtolnay/syn/compare/2.0.114...2.0.116 )
Updates `toml_parser` from 1.0.6+spec-1.1.0 to 1.0.9+spec-1.1.0
- [Commits](https://github.com/toml-rs/toml/compare/toml_parser-v1.0.6...toml_parser-v1.0.9 )
Updates `unicode-ident` from 1.0.23 to 1.0.24
- [Release notes](https://github.com/dtolnay/unicode-ident/releases )
- [Commits](https://github.com/dtolnay/unicode-ident/compare/1.0.23...1.0.24 )
Updates `zmij` from 1.0.20 to 1.0.21
- [Release notes](https://github.com/dtolnay/zmij/releases )
- [Commits](https://github.com/dtolnay/zmij/compare/1.0.20...1.0.21 )
Updates `libfuzzer-sys` from 0.4.10 to 0.4.12
- [Changelog](https://github.com/rust-fuzz/libfuzzer/blob/main/CHANGELOG.md )
- [Commits](https://github.com/rust-fuzz/libfuzzer/commits )
---
updated-dependencies:
- dependency-name: bitflags
dependency-version: 2.11.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: clap
dependency-version: 4.5.59
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: env_logger
dependency-version: 0.11.9
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: libc
dependency-version: 0.2.182
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: uuid
dependency-version: 1.21.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: arc-swap
dependency-version: 1.8.2
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: futures
dependency-version: 0.3.32
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: async-executor
dependency-version: 1.14.0
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: cc
dependency-version: 1.2.56
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: clap_builder
dependency-version: 4.5.59
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: clap_lex
dependency-version: 1.0.0
dependency-type: indirect
update-type: version-update:semver-major
dependency-group: non-rust-vmm
- dependency-name: env_filter
dependency-version: 1.0.0
dependency-type: indirect
update-type: version-update:semver-major
dependency-group: non-rust-vmm
- dependency-name: futures-channel
dependency-version: 0.3.32
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: futures-core
dependency-version: 0.3.32
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: futures-executor
dependency-version: 0.3.32
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: futures-io
dependency-version: 0.3.32
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: futures-macro
dependency-version: 0.3.32
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: futures-sink
dependency-version: 0.3.32
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: futures-task
dependency-version: 0.3.32
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: futures-util
dependency-version: 0.3.32
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: jiff
dependency-version: 0.2.20
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: jiff-static
dependency-version: 0.2.20
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: syn
dependency-version: 2.0.116
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: toml_parser
dependency-version: 1.0.9+spec-1.1.0
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: unicode-ident
dependency-version: 1.0.24
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: zmij
dependency-version: 1.0.21
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: bitflags
dependency-version: 2.11.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: clap
dependency-version: 4.5.59
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: libc
dependency-version: 0.2.182
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: uuid
dependency-version: 1.21.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: arc-swap
dependency-version: 1.8.2
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: cc
dependency-version: 1.2.56
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: clap_builder
dependency-version: 4.5.59
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: clap_lex
dependency-version: 1.0.0
dependency-type: indirect
update-type: version-update:semver-major
dependency-group: non-rust-vmm
- dependency-name: futures-core
dependency-version: 0.3.32
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: futures-sink
dependency-version: 0.3.32
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: syn
dependency-version: 2.0.116
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: toml_parser
dependency-version: 1.0.9+spec-1.1.0
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: unicode-ident
dependency-version: 1.0.24
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: zmij
dependency-version: 1.0.21
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: libfuzzer-sys
dependency-version: 0.4.12
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-02-17 01:03:53 +00:00
dependabot[bot]
2a5c4f0e4d
build: Bump crate-ci/typos from 1.43.4 to 1.43.5
...
Bumps [crate-ci/typos](https://github.com/crate-ci/typos ) from 1.43.4 to 1.43.5.
- [Release notes](https://github.com/crate-ci/typos/releases )
- [Changelog](https://github.com/crate-ci/typos/blob/master/CHANGELOG.md )
- [Commits](https://github.com/crate-ci/typos/compare/v1.43.4...v1.43.5 )
---
updated-dependencies:
- dependency-name: crate-ci/typos
dependency-version: 1.43.5
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-02-17 00:49:30 +00:00
Rob Bradford
5dd5659440
build: Switch to released version of acpi_tables
...
Replace git version with latest released version from crates.io
Signed-off-by: Rob Bradford <rbradford@meta.com >
2026-02-16 22:07:52 +00:00
Anatol Belski
16d6a16e5c
performance-metrics: Add standalone qcow2 perf tests
...
Add performance tests for standalone qcow2 images without backing
files - uncompressed, zlib and zstd compressed. Each variant
includes single queue and multiqueue tests for sequential
read, random read and warmed up sequential read.
Signed-off-by: Anatol Belski <anbelski@linux.microsoft.com >
2026-02-16 11:50:23 +00:00
Anatol Belski
333db1acb3
performance-metrics: Add multi-queue overlay block I/O tests
...
Add multiqueue num_queues=4 performance tests for qcow2 overlay
images with both qcow2 and raw backing files - sequential read,
random read, and warm read variants.
Signed-off-by: Anatol Belski <anbelski@linux.microsoft.com >
2026-02-16 11:50:23 +00:00
Anatol Belski
ecb971a491
performance-metrics: Add backing_files=on for overlay tests
...
The backing_files option defaults to false, so qcow2 overlay
tests fail with MaxNestingDepthExceeded. Pass backing_files=on
when the test file is an overlay.
Signed-off-by: Anatol Belski <anbelski@linux.microsoft.com >
2026-02-15 12:31:32 +00:00
Anatol Belski
20f5cadb6f
scripts: Fix run_metrics.sh to use sha1sums common file
...
The focal image checksums have been moved in the -common
sha1sums file. Use the correct file for metrics.
Signed-off-by: Anatol Belski <anbelski@linux.microsoft.com >
2026-02-15 12:31:32 +00:00
Demi Marie Obenour
ce93686ad2
block: do not allow guest to not negotiate VIRTIO_BLK_F_RO
...
Unlike most virtio feature bits, VIRTIO_BLK_F_RO is not optional.
It indicates that the host is refusing to permit write operations, and
the guest must not be allowed to override it.
However, the block device currently does not enforce this. If the guest
does not negotiate VIRTIO_BLK_F_RO, the block device will think the
device is writable and forward write requests to the backend.
This is not a security problem right now because the backing device of a
read-only device is always opened read-only. The kernel will thus
reject the write operations with EBADF. If support is added for
receiving the backing device file descriptor via SCM_RIGHTS (#7704 ),
it will be possible to have a read-only block device backed by a
writable file descriptor. This would make the bug a genuine security
vulnerability.
Fix the bug by explicitly checking if VIRTIO_BLK_F_RO was offered but
not negotiated. In this case, log a warning and proceed as if the guest
did acknowledge the feature. This always indicates a guest driver bug.
Fixes : #7697
Signed-off-by: Demi Marie Obenour <demiobenour@gmail.com >
2026-02-14 09:55:42 +00:00
Demi Marie Obenour
80ea1fe62d
block: Allow (and ignore) FLUSH requests on read-only devices
...
OVMF sends FLUSH requests to read-only virtio-block devices. Refusing
these requests prevents OVMF from accessing the EFI System Partition and
therefore makes VMs unable to boot. Accept these requests instead.
them.
Ignoring these requests is possible, but inconsistent with fsync(2)
which honors them.
Fixes : #7698
Signed-off-by: Demi Marie Obenour <demiobenour@gmail.com >
2026-02-14 09:54:46 +00:00
Muminul Islam
ff4c8f7480
hypervisor: mshv: handle Special Debug Print VMG exit
...
Add handling for GHCB_INFO_SPECIAL_DBGPRINT VMG exit in the SEV-SNP
guest exit handler. This exit occurs when the guest sends debug print
requests through the GHCB interface.
Without this handler, SEV-SNP guests fail to boot when debug output
is triggered, such as when a debugger is attached to the guest image.
The handler acknowledges the exit without printing to avoid performance
degradation from frequent debug print requests.
Signed-off-by: Muminul Islam <muislam@microsoft.com >
2026-02-13 22:22:00 +00:00
Leander Kohler
30c86d5999
vmm: fix --net fd helptext for list syntax
...
The --net help text documented fd as fd=<fd1,fd2...>, but
comma-separated FD lists in option values must be bracketed to avoid
top-level option splitting.
Update NetConfig::SYNTAX to use fd=<[fd1,fd2,...]>, matching parser
behavior and existing net parsing tests:
`cargo test -p vmm test_net_parsing`
On-behalf-of: SAP leander.kohler@sap.com
Signed-off-by: Leander Kohler <leander.kohler@cyberus-technology.de >
2026-02-13 20:58:30 +00:00
Leander Kohler
adfcd17bfc
vmm: Include invalid UUID string in ParseUuid err
...
On-behalf-of: SAP leander.kohler@sap.com
Signed-off-by: Leander Kohler <leander.kohler@cyberus-technology.de >
2026-02-13 20:58:30 +00:00
Anatol Belski
8e51c57aea
tests: Add integration tests for virtio-blk DISCARD operations
...
Add comprehensive integration tests for DISCARD and WRITE_ZEROES:
Multiqueue stress tests verify concurrent operations across queues,
testing scattered writes with simultaneous fstrim, and write/discard
races that stress refcount table locking.
Format specific tests verify QCOW2 deallocates clusters after DISCARD,
raw files create holes using fallocate, and unsupported formats VHD
and VHDX correctly reject DISCARD requests.
Tests for sparse=off verify raw files preallocate full disk size and
QCOW2 uses zero flag instead of deallocating clusters.
Add helper functions to verify sparse files, count QCOW2 zero flagged
regions using qemu-img map, and verify guest reads zeros from
discarded regions.
Signed-off-by: Anatol Belski <anbelski@linux.microsoft.com >
2026-02-13 18:44:30 +00:00
Anatol Belski
4676fdb494
block: Add unit tests for DISCARD zero flag
...
Add comprehensive tests for DISCARD and WRITE_ZEROES operations:
QCOW2 zero flag test validates the complete workflow: allocate
cluster, DISCARD it, verify reads return zeros, write new data,
verify cluster reallocated.
QcowSync tests verify punch_hole and write_zeroes with Arc<Mutex<>>
sharing, including tests for cache consistency with multiple async
I/O operations.
RawFileSync tests verify punch_hole and write_zeroes using
fallocate.
Signed-off-by: Anatol Belski <anbelski@linux.microsoft.com >
2026-02-13 18:44:30 +00:00
Anatol Belski
45b115aeb0
block: raw: Implement punch_hole and write_zeroes
...
Implement punch_hole() and write_zeroes() for raw file backends using
io_uring and fallocate.
punch_hole() uses FALLOC_FL_PUNCH_HOLE to deallocate storage.
write_zeroes() uses FALLOC_FL_ZERO_RANGE to write zeros efficiently.
Both use FALLOC_FL_KEEP_SIZE to maintain file size.
Signed-off-by: Anatol Belski <anbelski@linux.microsoft.com >
2026-02-13 18:44:30 +00:00
Anatol Belski
6c94975c80
block: qcow: Implement punch_hole and write_zeroes for QcowSync
...
Implement punch_hole and write_zeroes for QcowSync backend by
delegating to QcowFile::punch_hole which triggers cluster
deallocation. write_zeroes delegates to punch_hole as unallocated
clusters read as zeros in QCOW2.
Signed-off-by: Anatol Belski <anbelski@linux.microsoft.com >
2026-02-13 18:44:30 +00:00
Anatol Belski
81c075b317
block: Add virtio-blk DISCARD and WRITE_ZEROES support
...
Add VIRTIO_BLK_T_DISCARD and VIRTIO_BLK_T_WRITE_ZEROES request types.
Parse discard/write_zeroes descriptors (sector, num_sectors, flags),
convert to byte offsets, and call punch_hole/write_zeroes on the disk
backend. Mark as unsupported in sync mode.
Signed-off-by: Anatol Belski <anbelski@linux.microsoft.com >
2026-02-13 18:44:30 +00:00
Anatol Belski
e913d0d9cb
block: qcow: Implement DISCARD with sparse aware deallocation
...
Implement DISCARD using QCOW2 zero flag (bit 0 of L2 entries) with
sparse aware behavior.
When sparse=true - fully deallocate clusters by decrementing
refcount, clearing L2 entry, and reclaiming storage via punch_hole
when refcount reaches zero.
When sparse=false - use zero flag to keep storage allocated while
marking as reading zeros. Only works when cluster is not shared.
Shared clusters are fully deallocated.
Signed-off-by: Anatol Belski <anbelski@linux.microsoft.com >
2026-02-13 18:44:30 +00:00
Anatol Belski
49a30cbbaf
block: raw: Implement disk preallocation for sparse=false
...
When sparse=false is configured, preallocate the entire raw disk file
at startup using fallocate(). This provides space reservation and
reduces fragmentation.
Only applies to raw disks. QCOW2/VHD/VHDX formats manage their own
allocation.
Signed-off-by: Anatol Belski <anbelski@linux.microsoft.com >
2026-02-13 18:44:30 +00:00
Anatol Belski
0a287793df
block: qcow: Thread sparse configuration to QCOW2 constructors
...
Add sparse parameter to QcowFile constructors and propagate it from
device_manager through QcowDiskSync. This makes the sparse configuration
available throughout the QCOW2 implementation for controlling allocation
and deallocation behavior.
Signed-off-by: Anatol Belski <anbelski@linux.microsoft.com >
2026-02-13 18:44:30 +00:00
Anatol Belski
46e6ecddfe
block: Add supports_zero_flag trait method
...
Add supports_zero_flag() to DiskFile trait to indicate whether a disk
format can mark clusters/blocks as reading zeros without deallocating
storage.
QCOW2 supports this via the zero flag in L2 entries. VHDX also has
PAYLOAD_BLOCK_ZERO state for this, though it's not yet implemented in
cloud-hypervisor.
This enables DISCARD to be advertised even with sparse=false for formats
with zero-flag support, since they can mark regions as zeros (keeps
storage allocated) instead of requiring full deallocation.
Signed-off-by: Anatol Belski <anbelski@linux.microsoft.com >
2026-02-13 18:44:30 +00:00
Anatol Belski
7dfcbff309
vmm: config: Add sparse flag to control disk space allocation
...
Add sparse boolean configuration option to DiskConfig with a default
value of true to control disk space allocation behavior.
When sparse is true, the disk uses sparse allocation where deallocated
blocks are returned to the filesystem, and the DISCARD feature is
advertised to the guest.
When sparse is false, disk space is kept fully allocated and DISCARD
is not advertised.
WRITE_ZEROES is always advertised when the backend supports it,
regardless of the sparse setting.
Signed-off-by: Anatol Belski <anbelski@linux.microsoft.com >
2026-02-13 18:44:30 +00:00
Anatol Belski
7f4b56b217
block: Add sparse operations capability query
...
Add capability query to DiskFile trait to check backend
support for sparse operations (punch hole, write zeroes,
discard). Only advertise VIRTIO_BLK_F_DISCARD and
VIRTIO_BLK_F_WRITE_ZEROES when the backend supports these
operations.
Signed-off-by: Anatol Belski <anbelski@linux.microsoft.com >
2026-02-13 18:44:30 +00:00
Anatol Belski
d5dad48618
block: Add sparse capability detection
...
Add functions to probe whether a file or block device actually
supports PUNCH_HOLE and ZERO_RANGE operations at runtime. The
probe is performed at file open time by testing the operations
at EOF with a zero-length range, which is a safe no-op.
Signed-off-by: Anatol Belski <anbelski@linux.microsoft.com >
2026-02-13 18:44:30 +00:00
Anatol Belski
7095605d84
block: Add punch_hole and write_zeroes to AsyncIo trait
...
Add punch_hole() and write_zeroes() methods to the AsyncIo trait
with stub implementations for all backends. These will be used to
support DISCARD and WRITE_ZEROES operations.
Signed-off-by: Anatol Belski <anbelski@linux.microsoft.com >
2026-02-13 18:44:30 +00:00
Muminul Islam
41b23229a5
vmm: refactor VM initialization into modular helper methods
...
Decompose the monolithic `new_from_memory_manager` function into
smaller, focused helper methods to improve code readability,
maintainability, and testability.
Changes:
- Extract `should_force_iommu()` to determine IOMMU requirements for
confidential computing (TDX/SEV-SNP)
- Extract `should_stop_on_boot()` to check debug pause configuration
- Extract `create_cpu_manager()` to encapsulate CPU manager creation
and CPUID population
- Extract `init_tdx_if_enabled()` for TDX-specific VM initialization
- Extract `create_device_manager()` to encapsulate device manager setup
- Extract `hypervisor_specific_init()` to orchestrate initialization
sequences for different hypervisors (KVM, MSHV, SEV-SNP)
- Extract `init_sev_snp()` for SEV-SNP confidential VM setup
- Extract `init_mshv()` for MSHV hypervisor initialization
- Extract `init_kvm()` for KVM hypervisor initialization
- Extract `create_fw_cfg_if_enabled()` for fw_cfg device creation
This refactoring replaces complex nested `cfg_if!` blocks with cleaner
conditional method calls, providing clear separation between hypervisor-
specific initialization paths while preserving existing functionality.
No functional changes intended.
Issue: https://github.com/cloud-hypervisor/cloud-hypervisor/issues/7598
Signed-off-by: Muminul Islam <muislam@microsoft.com >
2026-02-13 10:18:50 +00:00
Philipp Schuster
03ef7d1991
vmm: remove lock for VmState
...
The lock doesn't make any sense. There is no shared ownership. All
accesses are already synchronized by accesses on a higher level.
Signed-off-by: Philipp Schuster <philipp.schuster@cyberus-technology.de >
On-behalf-of: SAP philipp.schuster@sap.com
2026-02-13 09:46:13 +00:00
Saravanan D
9babad0114
ci: fix lychee link-checker failures
...
Update .lychee.toml to exclude the following patterns:
- ARM domains (developer.arm.com, infocenter.arm.com) which return 403
Forbidden due to anti-bot protections in CI.
- Local TCP addresses (192.168.1.10) which are unsupported by the
link-checker tool.
- The .lychee.toml file itself, to prevent the tool from recursively
checking its own regex exclusion patterns as valid URLs.
Signed-off-by: Saravanan D <saravanand@crusoe.ai >
2026-02-12 22:54:54 +00:00
Saravanan D
3af9ac78a9
docs: Document Generic Initiator NUMA support
...
Document device_id parameter in NumaConfig, automatic
guest_numa_id assignment, default NUMA distances and
restrictions on Generoc Initiator NUMA nodes
Add numa configuration examples with GPU device and distance
relationships.
Signed-off-by: Saravanan D <saravanand@crusoe.ai >
2026-02-12 22:54:54 +00:00
Saravanan D
18768e9bf8
tests: Add integration test for Generic Initiator
...
Add test_guest_numa_generic_initiator to validate ACPI Generic
Initiator Affinity (SRAT Type 5) support for VFIO device.
The test verifies the following :
- Guest VM boots with a VFIO device associated with a {cpu,
memort}-less NUMA node
- Guest Kernel correctly detects Generic Initiator through
ACPI tables SRAT, SLIT
- NUMA topology in the guest includes the device-only node
with correct distances
Invoked via :
./scripts/dev_cli.sh tests --integration -- --hypervisor kvm \
--test-filter test_guest_numa_generic_initiator
The test requires a real VFIO device bound to vfio-pci driver and
skips gracefully if hardware is unavailable.
Signed-off-by: Saravanan D <saravanand@crusoe.ai >
2026-02-12 22:54:54 +00:00
Saravanan D
df67c3690e
arch: Handle Generic Initiator in ARM64 FDT
...
Update FDT generation to skip NUMA properties when Generic Initiator
nodes are present, preventing conflicts between FDT and ACPI NUMA
information. FDT cannot represent Generic Initiator nodes, so ACPI
(via SRAT Type 5) becomes the authoritative source for the entire
NUMA topology when Generic Initiators exist.
Skip FDT numa-node-id properties in CPU and memory nodes
when Generic Initiator is present
Distance map bug fix : iterate over actual NUMA node IDs instead
of 0..len()
Use distance symmetry to derive distance when forward config is
missing
Default to distance cost 20 when neither direction specified
Only create memory nodes if NUMA node has memory region
Added unit tests
ARM64 boot protocol:
https://docs.kernel.org/arch/arm64/booting.html
Signed-off-by: Saravanan D <saravanand@crusoe.ai >
2026-02-12 22:54:54 +00:00
Saravanan D
dc0c306dd9
vmm: Add ACPI Generic Initiator support
...
Support ACPI Generic Initiator Affinity to associate
PCI devices with NUMA proximity domains
Add GenericInitiatorAffinity struct
Add from_pci_bdf() to encode PCI Segment:Bus:Device.Function
Add from_acpi_device() for ACPI device handles (future use)
Generate SRAT Type 5 entries for nodes with device_id
Improve create_slit_table() to check distance symmetry when
forward distance is missing
Track device ID to BDF mappings in DeviceManager
Includes comprehensive unit tests
Signed-off-by: Saravanan D <saravanand@crusoe.ai >
2026-02-12 22:54:54 +00:00
Saravanan D
fa43548975
vmm: Add validation for Generic Initiator NUMA
...
Validate device_id in numa config is mutually
exclusive with cpus and memory_zones
Add NumaConfig::validate() and modify NumaConfig::parse()
Add ValidationError::InvalidNumaConfig for detailed error
messages
Include unit tests covering valid and invalid configs
Signed-off-by: Saravanan D <saravanand@crusoe.ai >
2026-02-12 22:54:54 +00:00
Saravanan D
6d4827b5ff
vmm: Add device_id field to NUMA configuration
...
Add an optional device_id string field to NumaConfig for identifying
PCI devices associated with a NUMA node. This is used by the Generic
Initiator support to map devices to their proximity domain.
Update OpenAPI spec (cloud-hypervisor.yaml) to include the
new device_id field in the NumaConfig schema.
The device_id is optional and parsed from the --numa parameter:
--numa "device_id=<device_id>,distances=[...],..."
The optional field is accepted but not used.
Signed-off-by: Saravanan D <saravanand@crusoe.ai >
2026-02-12 22:54:54 +00:00
Saravanan D
231bbe2d5d
vmm: Enforce guest_numa_id on NUMA nodes
...
The documentation says guest_numa_id is required to be unique and
therefore the parser() giving default value for non-existing
guest_numa_id with .unwrap_or(0) is dangerous.
Return a validation error if guest_numa_id is not provided instead
of silently defaulting to 0.
Signed-off-by: Saravanan D <saravanand@crusoe.ai >
2026-02-12 22:54:54 +00:00
Anatol Belski
9ba9c0819a
tests: Add QCOW2 disk resize integration test
...
Verify live resize of QCOW2 disks works via the API, including
resizing that requires L1 table growth.
Signed-off-by: Anatol Belski <anbelski@linux.microsoft.com >
2026-02-12 22:47:00 +00:00
Anatol Belski
99493c728e
block: qcow: Add resize unit tests
...
- No-op resize when size unchanged
- Growing with L1 table expansion
- Shrink attempts return error
- Resize with backing file returns error
Signed-off-by: Anatol Belski <anbelski@linux.microsoft.com >
2026-02-12 22:47:00 +00:00
Anatol Belski
629c117ff3
block: qcow: Implement live resize with L1 table growth
...
Add support for live resizing QCOW2 images. This enables growing
the virtual size of a QCOW2 disk while the VM is running.
Key features:
- Growing the image automatically expands the L1 table if needed
- Shrinking is not supported
- Resizing for images with backing files is not supported
Signed-off-by: Anatol Belski <anbelski@linux.microsoft.com >
2026-02-12 22:47:00 +00:00
Anirudh Rayabharam
caa362c31f
hypervisor: mshv: stub implementation for save_data_tables()
...
Provide a stub implementation for save_data_tables() to unblock pause
functionality. Without this, pausing a VM causes Cloud Hypervisor to
panic due to the unimplemented!() macro. This unblocks the
test_api_http_pause_resume testcase. We don't need to save any state
just to pause and resume.
Signed-off-by: Anirudh Rayabharam <anrayabh@microsoft.com >
2026-02-11 15:57:21 +00:00
Philipp Schuster
2882ccd00a
vmm: config validation: add more context to errors
...
Signed-off-by: Philipp Schuster <philipp.schuster@cyberus-technology.de >
On-behalf-of: SAP philipp.schuster@sap.com
2026-02-11 10:04:14 +00:00
Demi Marie Obenour
92b58ba94a
virtio-devices: Do not close an unowned FD
...
Instead of closing a file descriptor that belongs to the vhost-user
frontend, drop the vu_common_ctrl::VhostUserHandle and the
vhost::vhost_user::Frontend it contains. This causes the destructor to
drop the file descriptor.
This breaks the last DPDK test, so disable it. See #7689 .
Fixes : #7163
Signed-off-by: Demi Marie Obenour <demiobenour@gmail.com >
2026-02-11 09:53:10 +00:00
Damian Barabonkov
dde5f6ef38
vmm: Fix MMIO region removal during VFIO device hot-unplug
...
When a VFIO device with multiple MMIO regions is hot-unplugged, each
region must be individually matched and removed from the DeviceManager's
mmio_regions list. Compare per-region rather than building an aggregate
across all regions, which would never match any individual entry.
Also remove the now-unused HashSet import.
Signed-off-by: Damian Barabonkov <dbctl@pm.me >
2026-02-11 00:03:01 +00:00
Damian Barabonkov
638848fcff
pci: Accept MmioRegion reference in has_matching_slots()
...
Change has_matching_slots() to compare two MmioRegion instances
directly rather than requiring callers to construct an intermediate
HashSet of slot numbers. Remove the now-unused
user_memory_region_slots() method and HashSet import.
Signed-off-by: Damian Barabonkov <dbctl@pm.me >
2026-02-11 00:03:01 +00:00
Changyuan Lyu
c2add07476
vmm: device_manager: avoid deep cloning device configs
...
Replace `clone()` with `take()` when retrieving device configurations
from `DeviceManager.config`.
This avoids unnecessarily copying the device configuration lists (e.g.,
`disks`, `net`, `fs`) when they are being processed and subsequently
moved out of the configuration. This optimization improves performance
by reducing memory allocations and cloning overhead.
Signed-off-by: Changyuan Lyu <changyuanl@google.com >
2026-02-10 23:35:54 +00:00
Wei Liu
bf6f0f8352
virtio-devices: vsock: Accept multi-descriptor TX packets
...
Since kernel commit 6693731487a8 ("vsock/virtio: Allocate nonlinear SKBs
for handling large transmit buffers"), a large vsock packet can be split
into multiple descriptors.
If we encounter such TX packets, pull the content into an owned buffer.
Fixes : #7672
Signed-off-by: Wei Liu <liuwe@microsoft.com >
2026-02-10 22:00:27 +00:00
Muminul Islam
97c5d837ab
scripts: allow cloud-init script to accept a custom output file
...
When running manual tests locally, it is sometimes necessary to
generate a cloud-init file at a custom path instead of defaulting
to /tmp. This is useful for developers and higher-level management
layers where files in /tmp may be cleaned up automatically.
Signed-off-by: Muminul Islam <muislam@microsoft.com >
2026-02-10 21:50:29 +00:00
Rob Bradford
509832298b
vmm: Add option to control backing files
...
Backing files (e.g. for QCOW2) interact badly with landlock since they
are not obvious from the initial VM configuration. Only enable their use
with an explicit option.
Signed-off-by: Rob Bradford <rbradford@meta.com >
2026-02-10 17:41:42 +00:00
dependabot[bot]
a702bf1d10
build: Bump the non-rust-vmm group across 2 directories with 19 updates
...
Includes fix for rand build error (need to use trait).
Bumps the non-rust-vmm group with 15 updates in the / directory:
| Package | From | To |
| --- | --- | --- |
| [anyhow](https://github.com/dtolnay/anyhow ) | `1.0.100` | `1.0.101` |
| [clap](https://github.com/clap-rs/clap ) | `4.5.56` | `4.5.57` |
| [libc](https://github.com/rust-lang/libc ) | `0.2.180` | `0.2.181` |
| [zerocopy](https://github.com/google/zerocopy ) | `0.8.37` | `0.8.39` |
| [flate2](https://github.com/rust-lang/flate2-rs ) | `1.1.8` | `1.1.9` |
| [getrandom](https://github.com/rust-random/getrandom ) | `0.4.0` | `0.4.1` |
| [rand](https://github.com/rust-random/rand ) | `0.9.2` | `0.10.0` |
| [jiff](https://github.com/BurntSushi/jiff ) | `0.2.18` | `0.2.19` |
| [memchr](https://github.com/BurntSushi/memchr ) | `2.7.6` | `2.8.0` |
| [regex](https://github.com/rust-lang/regex ) | `1.12.2` | `1.12.3` |
| [regex-automata](https://github.com/rust-lang/regex ) | `0.4.13` | `0.4.14` |
| [regex-syntax](https://github.com/rust-lang/regex ) | `0.8.8` | `0.8.9` |
| [tempfile](https://github.com/Stebalien/tempfile ) | `3.24.0` | `3.25.0` |
| [unicode-ident](https://github.com/dtolnay/unicode-ident ) | `1.0.22` | `1.0.23` |
| [zmij](https://github.com/dtolnay/zmij ) | `1.0.19` | `1.0.20` |
Bumps the non-rust-vmm group with 8 updates in the /fuzz directory:
| Package | From | To |
| --- | --- | --- |
| [anyhow](https://github.com/dtolnay/anyhow ) | `1.0.100` | `1.0.101` |
| [clap](https://github.com/clap-rs/clap ) | `4.5.56` | `4.5.57` |
| [libc](https://github.com/rust-lang/libc ) | `0.2.180` | `0.2.181` |
| [zerocopy](https://github.com/google/zerocopy ) | `0.8.37` | `0.8.39` |
| [flate2](https://github.com/rust-lang/flate2-rs ) | `1.1.8` | `1.1.9` |
| [memchr](https://github.com/BurntSushi/memchr ) | `2.7.6` | `2.8.0` |
| [unicode-ident](https://github.com/dtolnay/unicode-ident ) | `1.0.22` | `1.0.23` |
| [zmij](https://github.com/dtolnay/zmij ) | `1.0.19` | `1.0.20` |
Updates `anyhow` from 1.0.100 to 1.0.101
- [Release notes](https://github.com/dtolnay/anyhow/releases )
- [Commits](https://github.com/dtolnay/anyhow/compare/1.0.100...1.0.101 )
Updates `clap` from 4.5.56 to 4.5.57
- [Release notes](https://github.com/clap-rs/clap/releases )
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md )
- [Commits](https://github.com/clap-rs/clap/compare/clap_complete-v4.5.56...clap_complete-v4.5.57 )
Updates `libc` from 0.2.180 to 0.2.181
- [Release notes](https://github.com/rust-lang/libc/releases )
- [Changelog](https://github.com/rust-lang/libc/blob/0.2.181/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/libc/compare/0.2.180...0.2.181 )
Updates `zerocopy` from 0.8.37 to 0.8.39
- [Release notes](https://github.com/google/zerocopy/releases )
- [Changelog](https://github.com/google/zerocopy/blob/main/CHANGELOG.md )
- [Commits](https://github.com/google/zerocopy/compare/v0.8.37...v0.8.39 )
Updates `flate2` from 1.1.8 to 1.1.9
- [Release notes](https://github.com/rust-lang/flate2-rs/releases )
- [Commits](https://github.com/rust-lang/flate2-rs/compare/1.1.8...1.1.9 )
Updates `getrandom` from 0.4.0 to 0.4.1
- [Changelog](https://github.com/rust-random/getrandom/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-random/getrandom/compare/v0.4.0...v0.4.1 )
Updates `rand` from 0.9.2 to 0.10.0
- [Release notes](https://github.com/rust-random/rand/releases )
- [Changelog](https://github.com/rust-random/rand/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-random/rand/compare/rand_core-0.9.2...0.10.0 )
Updates `clap_builder` from 4.5.56 to 4.5.57
- [Release notes](https://github.com/clap-rs/clap/releases )
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md )
- [Commits](https://github.com/clap-rs/clap/compare/v4.5.56...v4.5.57 )
Updates `jiff` from 0.2.18 to 0.2.19
- [Release notes](https://github.com/BurntSushi/jiff/releases )
- [Changelog](https://github.com/BurntSushi/jiff/blob/master/CHANGELOG.md )
- [Commits](https://github.com/BurntSushi/jiff/compare/jiff-static-0.2.18...jiff-static-0.2.19 )
Updates `jiff-static` from 0.2.18 to 0.2.19
- [Release notes](https://github.com/BurntSushi/jiff/releases )
- [Changelog](https://github.com/BurntSushi/jiff/blob/master/CHANGELOG.md )
- [Commits](https://github.com/BurntSushi/jiff/compare/jiff-static-0.2.18...jiff-static-0.2.19 )
Updates `memchr` from 2.7.6 to 2.8.0
- [Commits](https://github.com/BurntSushi/memchr/compare/2.7.6...2.8.0 )
Updates `regex` from 1.12.2 to 1.12.3
- [Release notes](https://github.com/rust-lang/regex/releases )
- [Changelog](https://github.com/rust-lang/regex/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/regex/compare/1.12.2...1.12.3 )
Updates `regex-automata` from 0.4.13 to 0.4.14
- [Release notes](https://github.com/rust-lang/regex/releases )
- [Changelog](https://github.com/rust-lang/regex/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/regex/compare/regex-automata-0.4.13...regex-automata-0.4.14 )
Updates `regex-syntax` from 0.8.8 to 0.8.9
- [Release notes](https://github.com/rust-lang/regex/releases )
- [Changelog](https://github.com/rust-lang/regex/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/regex/compare/regex-syntax-0.8.8...regex-syntax-0.8.9 )
Updates `tempfile` from 3.24.0 to 3.25.0
- [Changelog](https://github.com/Stebalien/tempfile/blob/master/CHANGELOG.md )
- [Commits](https://github.com/Stebalien/tempfile/commits )
Updates `unicode-ident` from 1.0.22 to 1.0.23
- [Release notes](https://github.com/dtolnay/unicode-ident/releases )
- [Commits](https://github.com/dtolnay/unicode-ident/compare/1.0.22...1.0.23 )
Updates `zerocopy-derive` from 0.8.37 to 0.8.39
- [Release notes](https://github.com/google/zerocopy/releases )
- [Changelog](https://github.com/google/zerocopy/blob/main/CHANGELOG.md )
- [Commits](https://github.com/google/zerocopy/compare/v0.8.37...v0.8.39 )
Updates `zmij` from 1.0.19 to 1.0.20
- [Release notes](https://github.com/dtolnay/zmij/releases )
- [Commits](https://github.com/dtolnay/zmij/compare/1.0.19...1.0.20 )
Updates `anyhow` from 1.0.100 to 1.0.101
- [Release notes](https://github.com/dtolnay/anyhow/releases )
- [Commits](https://github.com/dtolnay/anyhow/compare/1.0.100...1.0.101 )
Updates `clap` from 4.5.56 to 4.5.57
- [Release notes](https://github.com/clap-rs/clap/releases )
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md )
- [Commits](https://github.com/clap-rs/clap/compare/clap_complete-v4.5.56...clap_complete-v4.5.57 )
Updates `libc` from 0.2.180 to 0.2.181
- [Release notes](https://github.com/rust-lang/libc/releases )
- [Changelog](https://github.com/rust-lang/libc/blob/0.2.181/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/libc/compare/0.2.180...0.2.181 )
Updates `zerocopy` from 0.8.37 to 0.8.39
- [Release notes](https://github.com/google/zerocopy/releases )
- [Changelog](https://github.com/google/zerocopy/blob/main/CHANGELOG.md )
- [Commits](https://github.com/google/zerocopy/compare/v0.8.37...v0.8.39 )
Updates `flate2` from 1.1.8 to 1.1.9
- [Release notes](https://github.com/rust-lang/flate2-rs/releases )
- [Commits](https://github.com/rust-lang/flate2-rs/compare/1.1.8...1.1.9 )
Updates `clap_builder` from 4.5.56 to 4.5.57
- [Release notes](https://github.com/clap-rs/clap/releases )
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md )
- [Commits](https://github.com/clap-rs/clap/compare/v4.5.56...v4.5.57 )
Updates `hashbrown` from 0.16.1 to 0.15.5
- [Release notes](https://github.com/rust-lang/hashbrown/releases )
- [Changelog](https://github.com/rust-lang/hashbrown/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/hashbrown/compare/v0.16.1...v0.15.5 )
Updates `memchr` from 2.7.6 to 2.8.0
- [Commits](https://github.com/BurntSushi/memchr/compare/2.7.6...2.8.0 )
Updates `unicode-ident` from 1.0.22 to 1.0.23
- [Release notes](https://github.com/dtolnay/unicode-ident/releases )
- [Commits](https://github.com/dtolnay/unicode-ident/compare/1.0.22...1.0.23 )
Updates `zerocopy-derive` from 0.8.37 to 0.8.39
- [Release notes](https://github.com/google/zerocopy/releases )
- [Changelog](https://github.com/google/zerocopy/blob/main/CHANGELOG.md )
- [Commits](https://github.com/google/zerocopy/compare/v0.8.37...v0.8.39 )
Updates `zmij` from 1.0.19 to 1.0.20
- [Release notes](https://github.com/dtolnay/zmij/releases )
- [Commits](https://github.com/dtolnay/zmij/compare/1.0.19...1.0.20 )
---
updated-dependencies:
- dependency-name: anyhow
dependency-version: 1.0.101
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: clap
dependency-version: 4.5.57
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: libc
dependency-version: 0.2.181
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: zerocopy
dependency-version: 0.8.39
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: flate2
dependency-version: 1.1.9
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: getrandom
dependency-version: 0.4.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: rand
dependency-version: 0.10.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: clap_builder
dependency-version: 4.5.57
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: jiff
dependency-version: 0.2.19
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: jiff-static
dependency-version: 0.2.19
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: memchr
dependency-version: 2.8.0
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: regex
dependency-version: 1.12.3
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: regex-automata
dependency-version: 0.4.14
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: regex-syntax
dependency-version: 0.8.9
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: tempfile
dependency-version: 3.25.0
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: unicode-ident
dependency-version: 1.0.23
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: zerocopy-derive
dependency-version: 0.8.39
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: zmij
dependency-version: 1.0.20
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: anyhow
dependency-version: 1.0.101
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: clap
dependency-version: 4.5.57
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: libc
dependency-version: 0.2.181
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: zerocopy
dependency-version: 0.8.39
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: flate2
dependency-version: 1.1.9
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: clap_builder
dependency-version: 4.5.57
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: hashbrown
dependency-version: 0.15.5
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: memchr
dependency-version: 2.8.0
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: unicode-ident
dependency-version: 1.0.23
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: zerocopy-derive
dependency-version: 0.8.39
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: zmij
dependency-version: 1.0.20
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
...
Signed-off-by: dependabot[bot] <support@github.com >
Signed-off-by: Rob Bradford <rbradford@meta.com >
2026-02-10 15:26:04 +00:00
Anatol Belski
279344800e
block: qcow: Add test for reads beyond backing file size
...
Test reading from overlay at offsets beyond backing file returns
zeros. Covers reads within backing range, beyond backing, and
boundary spanning.
Signed-off-by: Anatol Belski <anbelski@linux.microsoft.com >
2026-02-10 08:39:57 +00:00
Anatol Belski
c569a4cbd4
block: qcow: Return zeros for reads beyond backing file size
...
When an overlay QCOW2 image is larger than its backing file, reads
from offsets beyond the backing file virtual size would previously
fail with an I/O error.
The backing file virtual size is determined at open time and stored
for bounds checking during read operations:
- If the entire read is beyond the backing size, return all zeros
- If the read spans the boundary, read available data from backing and
fill the remainder with zeros
Signed-off-by: Anatol Belski <anbelski@linux.microsoft.com >
2026-02-10 08:39:57 +00:00
Wei Liu
2c49f4f4f3
hypervisor: Add an unreachable arm to get/set_x86_64_reg
...
This is useful when neither kvm nor mshv is defined.
Signed-off-by: Wei Liu <liuwe@microsoft.com >
2026-02-10 08:33:43 +00:00
dependabot[bot]
7157e97083
build: Bump crate-ci/typos from 1.43.3 to 1.43.4
...
Bumps [crate-ci/typos](https://github.com/crate-ci/typos ) from 1.43.3 to 1.43.4.
- [Release notes](https://github.com/crate-ci/typos/releases )
- [Changelog](https://github.com/crate-ci/typos/blob/master/CHANGELOG.md )
- [Commits](https://github.com/crate-ci/typos/compare/v1.43.3...v1.43.4 )
---
updated-dependencies:
- dependency-name: crate-ci/typos
dependency-version: 1.43.4
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-02-10 02:51:10 +00:00
Anatol Belski
a00189cf72
hypervisor: vmm: mshv: Enable SMT for guests with threads_per_core > 1
...
Set HV_PARTITION_CREATION_FLAG_SMT_ENABLED_GUEST when the guest
topology has more than one thread per core. This allows the
hypervisor to schedule guest VPs correctly on SMT-enabled hosts.
Without this flag, the hypervisor schedules guest VPs incorrectly,
causing SMT unusable.
Signed-off-by: Anatol Belski <anbelski@linux.microsoft.com >
2026-02-07 09:55:17 +00:00
Anatol Belski
e3a2bf0870
build: Update mshv crates to 0.6.7
...
Release notes: https://github.com/rust-vmm/mshv/pull/307
Signed-off-by: Anatol Belski <anbelski@linux.microsoft.com >
2026-02-07 09:55:17 +00:00
dependabot[bot]
7314a77d43
build: Bump crate-ci/typos from 1.43.2 to 1.43.3
...
Bumps [crate-ci/typos](https://github.com/crate-ci/typos ) from 1.43.2 to 1.43.3.
- [Release notes](https://github.com/crate-ci/typos/releases )
- [Changelog](https://github.com/crate-ci/typos/blob/master/CHANGELOG.md )
- [Commits](https://github.com/crate-ci/typos/compare/v1.43.2...v1.43.3 )
---
updated-dependencies:
- dependency-name: crate-ci/typos
dependency-version: 1.43.3
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-02-07 00:45:27 +00:00
Champ-Goblem
1e0eba60af
vmm: always try THP for VM RAM
...
The kernel allows madvise on shared memory if
/sys/kernel/mm/transparent_hugepage/shmem_enabled is set.
Always try and configure THP via madvise when
the user requests THP be enabled.
If this fails, only a warning log is emitted and THP won't be enabled.
Signed-off-by: Champ-Goblem <cameron@northflank.com >
2026-02-06 18:40:26 +00:00
Rowen-Ye
2c2f5d2431
vmm: open backing file read-only when not shared
...
When restoring from snapshot with shared=false, write access to the
backing file is not required. Opening it read-only allows restore to
succeed on read-only media and overlay lower layers while preserving
MAP_PRIVATE semantics.
Signed-off-by: Rowen-Ye <rowenye1@gmail.com >
2026-02-06 16:06:48 +00:00
Muminul Islam
258f826027
tests: Add initial support of CVM test on MSHV
...
This patch adds the skeleton of the CVM test
support and modify existing scripts and test framework
to enable such scenario. Split the sha1sum to support both
regular and CVM guest. Add one test case for CVM. Will further
add more test cases.
Signed-off-by: Muminul Islam <muislam@microsoft.com >
2026-02-06 06:37:26 +00:00
Muminul Islam
f391a37a35
scripts: add common image download code to utility script
...
X64_64 image download steps is being used for both
regular and CVM guest. Keeping the steps withing a function
in the test-util.sh
Signed-off-by: Muminul Islam <muislam@microsoft.com >
2026-02-06 06:37:26 +00:00
Muminul Islam
6042eb969e
tests: remove timeout argument
...
Now Guest struct has an option to set timeout.
No need to pass timeout while booting the guest.
If no timeout is set, default is used.
Signed-off-by: Muminul Islam <muislam@microsoft.com >
2026-02-06 06:37:26 +00:00
Muminul Islam
12f66b7ddc
tests: Add option to pass guest for tests
...
Modify Guest struct to keep some test specific
data so that test cases could be shared between
regular guest and CVM.
Signed-off-by: Muminul Islam <muislam@microsoft.com >
2026-02-06 06:37:26 +00:00
dependabot[bot]
96f663b5f9
build: Bump crate-ci/typos from 1.43.1 to 1.43.2
...
Bumps [crate-ci/typos](https://github.com/crate-ci/typos ) from 1.43.1 to 1.43.2.
- [Release notes](https://github.com/crate-ci/typos/releases )
- [Changelog](https://github.com/crate-ci/typos/blob/master/CHANGELOG.md )
- [Commits](https://github.com/crate-ci/typos/compare/v1.43.1...v1.43.2 )
---
updated-dependencies:
- dependency-name: crate-ci/typos
dependency-version: 1.43.2
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-02-06 00:46:42 +00:00
Demi Marie Obenour
093a8497d0
scripts: Upgrade virtiofsd to 1.13.3
...
Testing generic vhost-user devices will require virtiofsd to support the
--tag option, which v1.8.0 does not support.
Signed-off-by: Demi Marie Obenour <demiobenour@gmail.com >
2026-02-04 17:29:48 +00:00
Anatol Belski
8c168d928f
block: qcow: Add SyncingHeader error variant for fsync operations
...
Replace generic WritingHeader error with specific SyncingHeader
error for header fsync operations. This provides more precise
error reporting when syncing QCOW2 header changes to disk fails.
Signed-off-by: Anatol Belski <anbelski@linux.microsoft.com >
2026-02-04 10:33:22 +00:00
dependabot[bot]
7667e8c0bc
build: Bump crate-ci/typos from 1.43.0 to 1.43.1
...
Bumps [crate-ci/typos](https://github.com/crate-ci/typos ) from 1.43.0 to 1.43.1.
- [Release notes](https://github.com/crate-ci/typos/releases )
- [Changelog](https://github.com/crate-ci/typos/blob/master/CHANGELOG.md )
- [Commits](https://github.com/crate-ci/typos/compare/v1.43.0...v1.43.1 )
---
updated-dependencies:
- dependency-name: crate-ci/typos
dependency-version: 1.43.1
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-02-04 01:25:57 +00:00
Anatol Belski
9bc367a27b
block: qcow: Use Arc<Mutex<>> for thread safe multiqueue access
...
Wrap QcowFile in Arc<Mutex<>> to ensure thread safety when multiple
virtio queues access the same QCOW2 image concurrently.
Previously, each queue received its own QcowSync instance via
new_async_io() that shared the underlying QcowFile through Clone.
However, cloned QcowFile instances share internal mutable state
(L2 cache, reference counts, file seek position) without
synchronization, leading to data corruption under concurrent I/O.
This change serializes all QCOW2 operations through a mutex, which
ensures correctness at the cost of parallelism. A more performant
solution would require separating metadata locking from actual I/O
operations, tracked in #7560 .
Related: #7560
Signed-off-by: Anatol Belski <anbelski@linux.microsoft.com >
2026-02-03 22:43:38 +00:00
Anatol Belski
51662159c0
tests: qcow: Add multiqueue stress tests
...
Add stress tests for QCOW2 with >=8 virtio queues to verify
thread safety of multiqueue concurrent disk access:
- parallel dd writes
- 4 readers + 4 writers mixed I/O
- overlay with backing file
- random 4K writes
- parallel small writes + fsync
- mkdir/touch/rm/rename metadata operations
Signed-off-by: Anatol Belski <anbelski@linux.microsoft.com >
2026-02-03 22:43:38 +00:00
Philipp Schuster
e690d258cc
ci: reduce CI load by refining workflow concurrency groups
...
TL;DR: Would reduce CI pressure by cancelling more "unnecessary" runs
but I can't verify without running a merge queue.
A common development pattern is to push a change and then immediately
check CI results. Follow-up fix pushes are quite common, which leads to
multiple CI runs being queued for the same pull request.
In Cloud Hypervisor, the size and cost of the CI matrix means that
several consecutive pushes (for example 3-4 in a short time) put
significant pressure on CI runners and noticeably increase feedback
latency.
In practice, concurrency handling is especially tricky for the merge
queue. From personal experience: If one does not take special care, CI
runs triggered by a `merge_group` can cancel each other, as in a merge
queue there are two runs for each job by default: one for the normal PR
and one for the merge commit. This is easy to run into, also because the
available documentation and best practices for this feature are not very
good.
At the same time, our workflows do not run on `push` events, but only
on `pull_request` and `merge_group`. Because of this, using
`${{ github.ref }}` alone as a concurrency key is not very meaningful,
and in practice only few runs are actually cancelled for successive PR
updates. Therefore, we should improve the usage of this feature.
This change tries to improve the situation by refining the concurrency
group key. The goal is to keep cancellation for multiple PR pushes,
while at the same time preventing unintended cancellations in the merge
queue by separating `merge_group` runs from regular PR runs.
Signed-off-by: Philipp Schuster <philipp.schuster@cyberus-technology.de >
On-behalf-of: SAP philipp.schuster@sap.com
2026-02-03 17:19:09 +00:00
Philipp Schuster
591aeb8ed8
misc: fix spellcheck CI step (caused by typos v1.43)
...
Unfortunately, we merged a typos bump [0] with failing CI.
[0] https://github.com/cloud-hypervisor/cloud-hypervisor/pull/7654
Signed-off-by: Philipp Schuster <philipp.schuster@cyberus-technology.de >
On-behalf-of: SAP philipp.schuster@sap.com
2026-02-03 16:27:46 +00:00
stevenhorsman
512c3ea58d
api_client: Add license info to api_client crate
...
In kata-containers we use the api_client crate, but it's currently
failing our cargo deny check due to missing license, and there aren't
any license files within the crate, so I haven't found a good way to
work around this.
Alternatively I'd be happy to add the license to the workspace crate
and then reference it here, but that seems to clash with the direction
of the project in #7525 .
Signed-off-by: stevenhorsman <steven@uk.ibm.com >
2026-02-03 15:31:03 +00:00
Anatol Belski
4ba0db5948
block: qcow: Add unit tests for autoclear features
...
- Autoclear bits cleared when opening for write
- Autoclear bits preserved when opening readonly
- V2 images not affected
Signed-off-by: Anatol Belski <anbelski@linux.microsoft.com >
2026-02-03 14:39:18 +00:00
Anatol Belski
4545fe113e
block: qcow: Clear autoclear features on writable open
...
QCOW2 v3 autoclear_features field contains bits for features whose
metadata becomes invalid when the image is modified by software that
doesn't understand them. Defined bits:
- Bit 0: Bitmaps extension
- Bit 1: Raw external data
Cloud-hypervisor doesn't support bitmaps or external data files, so
all autoclear bits are cleared on writable open. This signals other
tools that these features' data may be stale.
Readonly opens preserve autoclear bits unchanged.
Signed-off-by: Anatol Belski <anbelski@linux.microsoft.com >
2026-02-03 14:39:18 +00:00
dependabot[bot]
57fd672db6
build: Bump the non-rust-vmm group across 2 directories with 14 updates
...
Bumps the non-rust-vmm group with 10 updates in the / directory:
| Package | From | To |
| --- | --- | --- |
| [clap](https://github.com/clap-rs/clap ) | `4.5.54` | `4.5.56` |
| [zerocopy](https://github.com/google/zerocopy ) | `0.8.34` | `0.8.37` |
| [arc-swap](https://github.com/vorner/arc-swap ) | `1.8.0` | `1.8.1` |
| [getrandom](https://github.com/rust-random/getrandom ) | `0.3.4` | `0.4.0` |
| [cc](https://github.com/rust-lang/cc-rs ) | `1.2.54` | `1.2.55` |
| [openssl-src](https://github.com/alexcrichton/openssl-src-rs ) | `300.5.4+3.5.4` | `300.5.5+3.5.5` |
| [portable-atomic](https://github.com/taiki-e/portable-atomic ) | `1.13.0` | `1.13.1` |
| [portable-atomic-util](https://github.com/taiki-e/portable-atomic ) | `0.2.4` | `0.2.5` |
| [slab](https://github.com/tokio-rs/slab ) | `0.4.11` | `0.4.12` |
| [zmij](https://github.com/dtolnay/zmij ) | `1.0.17` | `1.0.19` |
Bumps the non-rust-vmm group with 5 updates in the /fuzz directory:
| Package | From | To |
| --- | --- | --- |
| [clap](https://github.com/clap-rs/clap ) | `4.5.54` | `4.5.56` |
| [zerocopy](https://github.com/google/zerocopy ) | `0.8.34` | `0.8.37` |
| [arc-swap](https://github.com/vorner/arc-swap ) | `1.8.0` | `1.8.1` |
| [cc](https://github.com/rust-lang/cc-rs ) | `1.2.54` | `1.2.55` |
| [zmij](https://github.com/dtolnay/zmij ) | `1.0.17` | `1.0.19` |
Updates `clap` from 4.5.54 to 4.5.56
- [Release notes](https://github.com/clap-rs/clap/releases )
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md )
- [Commits](https://github.com/clap-rs/clap/compare/clap_complete-v4.5.54...clap_complete-v4.5.56 )
Updates `zerocopy` from 0.8.34 to 0.8.37
- [Release notes](https://github.com/google/zerocopy/releases )
- [Changelog](https://github.com/google/zerocopy/blob/main/CHANGELOG.md )
- [Commits](https://github.com/google/zerocopy/compare/v0.8.34...v0.8.37 )
Updates `arc-swap` from 1.8.0 to 1.8.1
- [Changelog](https://github.com/vorner/arc-swap/blob/master/CHANGELOG.md )
- [Commits](https://github.com/vorner/arc-swap/compare/v1.8.0...v1.8.1 )
Updates `getrandom` from 0.3.4 to 0.4.0
- [Changelog](https://github.com/rust-random/getrandom/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-random/getrandom/compare/v0.3.4...v0.4.0 )
Updates `cc` from 1.2.54 to 1.2.55
- [Release notes](https://github.com/rust-lang/cc-rs/releases )
- [Changelog](https://github.com/rust-lang/cc-rs/blob/main/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/cc-rs/compare/cc-v1.2.54...cc-v1.2.55 )
Updates `clap_builder` from 4.5.54 to 4.5.56
- [Release notes](https://github.com/clap-rs/clap/releases )
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md )
- [Commits](https://github.com/clap-rs/clap/compare/v4.5.54...v4.5.56 )
Updates `find-msvc-tools` from 0.1.8 to 0.1.9
- [Release notes](https://github.com/rust-lang/cc-rs/releases )
- [Changelog](https://github.com/rust-lang/cc-rs/blob/main/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/cc-rs/compare/find-msvc-tools-v0.1.8...find-msvc-tools-v0.1.9 )
Updates `hashbrown` from 0.16.1 to 0.15.5
- [Release notes](https://github.com/rust-lang/hashbrown/releases )
- [Changelog](https://github.com/rust-lang/hashbrown/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/hashbrown/compare/v0.16.1...v0.15.5 )
Updates `openssl-src` from 300.5.4+3.5.4 to 300.5.5+3.5.5
- [Release notes](https://github.com/alexcrichton/openssl-src-rs/releases )
- [Commits](https://github.com/alexcrichton/openssl-src-rs/commits )
Updates `portable-atomic` from 1.13.0 to 1.13.1
- [Release notes](https://github.com/taiki-e/portable-atomic/releases )
- [Changelog](https://github.com/taiki-e/portable-atomic/blob/main/CHANGELOG.md )
- [Commits](https://github.com/taiki-e/portable-atomic/compare/v1.13.0...v1.13.1 )
Updates `portable-atomic-util` from 0.2.4 to 0.2.5
- [Release notes](https://github.com/taiki-e/portable-atomic/releases )
- [Changelog](https://github.com/taiki-e/portable-atomic/blob/main/CHANGELOG.md )
- [Commits](https://github.com/taiki-e/portable-atomic/compare/portable-atomic-util-0.2.4...portable-atomic-util-0.2.5 )
Updates `slab` from 0.4.11 to 0.4.12
- [Release notes](https://github.com/tokio-rs/slab/releases )
- [Changelog](https://github.com/tokio-rs/slab/blob/master/CHANGELOG.md )
- [Commits](https://github.com/tokio-rs/slab/compare/v0.4.11...v0.4.12 )
Updates `zerocopy-derive` from 0.8.34 to 0.8.37
- [Release notes](https://github.com/google/zerocopy/releases )
- [Changelog](https://github.com/google/zerocopy/blob/main/CHANGELOG.md )
- [Commits](https://github.com/google/zerocopy/compare/v0.8.34...v0.8.37 )
Updates `zmij` from 1.0.17 to 1.0.19
- [Release notes](https://github.com/dtolnay/zmij/releases )
- [Commits](https://github.com/dtolnay/zmij/compare/1.0.17...1.0.19 )
Updates `clap` from 4.5.54 to 4.5.56
- [Release notes](https://github.com/clap-rs/clap/releases )
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md )
- [Commits](https://github.com/clap-rs/clap/compare/clap_complete-v4.5.54...clap_complete-v4.5.56 )
Updates `zerocopy` from 0.8.34 to 0.8.37
- [Release notes](https://github.com/google/zerocopy/releases )
- [Changelog](https://github.com/google/zerocopy/blob/main/CHANGELOG.md )
- [Commits](https://github.com/google/zerocopy/compare/v0.8.34...v0.8.37 )
Updates `arc-swap` from 1.8.0 to 1.8.1
- [Changelog](https://github.com/vorner/arc-swap/blob/master/CHANGELOG.md )
- [Commits](https://github.com/vorner/arc-swap/compare/v1.8.0...v1.8.1 )
Updates `cc` from 1.2.54 to 1.2.55
- [Release notes](https://github.com/rust-lang/cc-rs/releases )
- [Changelog](https://github.com/rust-lang/cc-rs/blob/main/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/cc-rs/compare/cc-v1.2.54...cc-v1.2.55 )
Updates `clap_builder` from 4.5.54 to 4.5.56
- [Release notes](https://github.com/clap-rs/clap/releases )
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md )
- [Commits](https://github.com/clap-rs/clap/compare/v4.5.54...v4.5.56 )
Updates `find-msvc-tools` from 0.1.8 to 0.1.9
- [Release notes](https://github.com/rust-lang/cc-rs/releases )
- [Changelog](https://github.com/rust-lang/cc-rs/blob/main/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/cc-rs/compare/find-msvc-tools-v0.1.8...find-msvc-tools-v0.1.9 )
Updates `zerocopy-derive` from 0.8.34 to 0.8.37
- [Release notes](https://github.com/google/zerocopy/releases )
- [Changelog](https://github.com/google/zerocopy/blob/main/CHANGELOG.md )
- [Commits](https://github.com/google/zerocopy/compare/v0.8.34...v0.8.37 )
Updates `zmij` from 1.0.17 to 1.0.19
- [Release notes](https://github.com/dtolnay/zmij/releases )
- [Commits](https://github.com/dtolnay/zmij/compare/1.0.17...1.0.19 )
---
updated-dependencies:
- dependency-name: clap
dependency-version: 4.5.56
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: zerocopy
dependency-version: 0.8.37
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: arc-swap
dependency-version: 1.8.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: getrandom
dependency-version: 0.4.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: cc
dependency-version: 1.2.55
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: clap_builder
dependency-version: 4.5.56
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: find-msvc-tools
dependency-version: 0.1.9
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: hashbrown
dependency-version: 0.15.5
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: openssl-src
dependency-version: 300.5.5+3.5.5
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: portable-atomic
dependency-version: 1.13.1
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: portable-atomic-util
dependency-version: 0.2.5
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: slab
dependency-version: 0.4.12
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: zerocopy-derive
dependency-version: 0.8.37
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: zmij
dependency-version: 1.0.19
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: clap
dependency-version: 4.5.56
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: zerocopy
dependency-version: 0.8.37
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: arc-swap
dependency-version: 1.8.1
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: cc
dependency-version: 1.2.55
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: clap_builder
dependency-version: 4.5.56
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: find-msvc-tools
dependency-version: 0.1.9
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: zerocopy-derive
dependency-version: 0.8.37
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: zmij
dependency-version: 1.0.19
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-02-03 05:49:17 +00:00
dependabot[bot]
009af915bb
build: Bump crate-ci/typos from 1.42.3 to 1.43.0
...
Bumps [crate-ci/typos](https://github.com/crate-ci/typos ) from 1.42.3 to 1.43.0.
- [Release notes](https://github.com/crate-ci/typos/releases )
- [Changelog](https://github.com/crate-ci/typos/blob/master/CHANGELOG.md )
- [Commits](https://github.com/crate-ci/typos/compare/v1.42.3...v1.43.0 )
---
updated-dependencies:
- dependency-name: crate-ci/typos
dependency-version: 1.43.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-02-03 05:35:45 +00:00
Rob Bradford
01bd6b8b1a
virtio-devices: vhost-user: net: Use default vhost-user virtio features
...
This adds some missing features that are useful. In particular it adds
VIRTIO_F_RING_INDIRECT_DESC which gives a performance improvement.
Signed-off-by: Rob Bradford <rbradford@meta.com >
Reported-by: Daniel Farina <daniel@ubicloud.com >
2026-02-02 11:52:52 +00:00
Zhibin Li
28686bba46
vmm: fix rsdp_addr assertion for TDX
...
TDX builds its own ACPI tables in `create_acpi_tables_tdx` so it will
return None in the standard `create_acpi_tables` function and the
assertion for `rsdp_addr` will fail.
Signed-off-by: Zhibin Li <banlu.lzb@antgroup.com >
2026-01-29 16:23:22 +00:00
Anatol Belski
2da05d4258
block: qcow: Extend corrupt bit unit tests
...
Add tests for corrupt bit behavior during I/O operations.
- Unaligned L2 table address triggers corrupt bit on read
- Unaligned cluster address triggers corrupt bit on read and write
- Normal operations do not set the corrupt bit
- V2 images work correctly without feature bits
Signed-off-by: Anatol Belski <anbelski@linux.microsoft.com >
2026-01-29 09:28:51 +00:00
Anirudh Rayabharam
323b8230a3
tests: fix tests that expect ITS for mshv arm64
...
MSHV doesn't present an ITS to guests. So, /proc/interrupts would never
have "ITS-PCI-MSIX".
Instead, a Gicv2m frame is presented to guests. So expect
"GICv2m-PCI-MSIX" in testcases.
Signed-off-by: Anirudh Rayabharam <anrayabh@microsoft.com >
2026-01-28 19:18:57 +00:00
Anatol Belski
edaeaed5f7
tests: qcow: Add corrupt bit integration tests
...
Add integration tests for QCOW2 corrupt bit handling. Verify that
images with the corrupt bit set are rejected for writable access but
allowed for read-only access with a warning.
Helper functions are added to read and modify the corrupt flag in the
QCOW2 v3 header.
Signed-off-by: Anatol Belski <anbelski@linux.microsoft.com >
2026-01-28 15:30:33 +00:00
Anatol Belski
9baa904a5c
block: qcow: Add offset alignment checks for corruption detection
...
Validate that L2 table offsets and refcount block offsets are cluster
aligned. Set the corrupt bit when unaligned offsets are detected, as
this indicates corrupted L1 or refcount table entries.
Validate that data cluster offsets from L2 entries are cluster aligned
during both reads and writes to existing clusters. Set the corrupt bit
when unaligned data cluster offsets are detected.
Prevent allocation of clusters at offset 0, which contains the QCOW2
header and should never be allocated. This catches corruption in the
available clusters list. Set the corrupt bit when this condition is
detected.
Signed-off-by: Anatol Belski <anbelski@linux.microsoft.com >
2026-01-28 15:30:33 +00:00
Anatol Belski
2d86fc8422
block: qcow: Set corrupt bit on known inconsistencies
...
Set the QCOW2 corrupt bit when internal inconsistencies are detected
that indicate image metadata may be corrupted:
- Decompression decode failure, meaning compressed cluster data is
invalid
- Decompression size mismatch, where decompressed data doesn't match
expected cluster size
- Partial write after decompression, where L2 table was updated but
data cluster not fully written, leaving metadata inconsistent
- Invalid refcount index, where cluster address is outside valid
refcount table range, indicating a corrupted L2 entry
- Dirty L2 with zero L1 address, where L2 table is marked dirty but
L1 has no address for it
Note: Marking decompression failures as corrupt is more conservative
than QEMU, which returns EIO without setting the corrupt bit. This is
debatable since corrupted compressed data doesn't necessarily indicate
metadata corruption, but it provides a stronger safety guarantee by
preventing further writes to potentially damaged images.
Once set, the image can only be opened read-only until repaired with
qemu-img check -r.
Signed-off-by: Anatol Belski <anbelski@linux.microsoft.com >
2026-01-28 15:30:33 +00:00
Anatol Belski
c2fcb9bac9
block: qcow: Add unit tests for corrupt bit
...
Add comprehensive tests for the corrupt bit handling. Cover writable
rejection, read-only access, persistence, and dirty bit
coexistence.
Signed-off-by: Anatol Belski <anbelski@linux.microsoft.com >
2026-01-28 15:30:33 +00:00
Anatol Belski
771ab1d5a3
block: qcow: Add corrupt bit support for QCOW2 v3 images
...
Implement proper handling of the QCOW2 corrupt bit (incompatible feature
bit 1) according to the specification:
- Add Error::CorruptImage for rejecting writable opens of corrupt images
- Add CORRUPT to SUPPORTED features (handled specially, not rejected)
- Add QcowHeader::set_corrupt_bit() to mark images as corrupt
- Add QcowHeader::is_corrupt() helper method
- Reject writable opens of corrupt images with Error::CorruptImage
- Allow readonly opens of corrupt images with a warning
The corrupt bit indicates that image metadata may be inconsistent. Per
spec, such images must not be written to until repaired by external
tools like qemu-img. Read-only access is permitted to allow data
recovery.
Users can open corrupt images read-only using:
--disk path=/path/to/image.qcow2,readonly=on
Signed-off-by: Anatol Belski <anbelski@linux.microsoft.com >
2026-01-28 15:30:33 +00:00
dependabot[bot]
111f37f926
build: Bump crate-ci/typos from 1.42.2 to 1.42.3
...
Bumps [crate-ci/typos](https://github.com/crate-ci/typos ) from 1.42.2 to 1.42.3.
- [Release notes](https://github.com/crate-ci/typos/releases )
- [Changelog](https://github.com/crate-ci/typos/blob/master/CHANGELOG.md )
- [Commits](https://github.com/crate-ci/typos/compare/v1.42.2...v1.42.3 )
---
updated-dependencies:
- dependency-name: crate-ci/typos
dependency-version: 1.42.3
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-01-28 00:44:37 +00:00
Thomas Leroy
929df76e1a
virtio-devices: copy VSock header from guest
...
VsockPacket::hdr holds a raw pointer to the address of the VSock packet
header, which is in guest memory. It opens the door to double-fetch
(or TOCTOU) race conditions. Therefore, VSockPacket::hdr content can't
be trusted since it can be arbitrarily changed by the guest, at any
time.
To mitigate this, we can copy the header content to an array in VMM's
memory that the guest can't modify.
Signed-off-by: Thomas Leroy <thomas.leroy.mp@gmail.com >
2026-01-27 19:39:07 +00:00
Anatol Belski
87e8ac3f1f
block: qcow: Use BeUint for header field I/O
...
Update QcowHeader and other related places to use BeUint methods
internally for reading/writing header fields.
This removes the byteorder dependency from mod.rs and consolidates
all big-endian file I/O through the shared BeUint trait.
Suggested-by: Rob Bradford <rbradford@rivosinc.com >
Signed-off-by: Anatol Belski <anbelski@linux.microsoft.com >
2026-01-27 18:47:39 +00:00
Anatol Belski
8cdc3b53c0
block: qcow: Extend BeUint trait with read_be() method
...
Add a read_be() method to the BeUint trait and make it pub(super)
so it can be used across the qcow module. Change BeUint::write_be()
to take Self instead of u64, providing type safety through TryFrom
conversion.
Suggested-by: Rob Bradford <rbradford@rivosinc.com >
Signed-off-by: Anatol Belski <anbelski@linux.microsoft.com >
2026-01-27 18:47:39 +00:00
dependabot[bot]
79953fece0
build: Bump the non-rust-vmm group across 2 directories with 9 updates
...
Bumps the non-rust-vmm group with 8 updates in the / directory:
| Package | From | To |
| --- | --- | --- |
| [signal-hook](https://github.com/vorner/signal-hook ) | `0.4.1` | `0.4.3` |
| [uuid](https://github.com/uuid-rs/uuid ) | `1.19.0` | `1.20.0` |
| [zerocopy](https://github.com/google/zerocopy ) | `0.8.33` | `0.8.34` |
| [gdbstub](https://github.com/daniel5151/gdbstub ) | `0.7.8` | `0.7.9` |
| [cc](https://github.com/rust-lang/cc-rs ) | `1.2.53` | `1.2.54` |
| [proc-macro2](https://github.com/dtolnay/proc-macro2 ) | `1.0.105` | `1.0.106` |
| [quote](https://github.com/dtolnay/quote ) | `1.0.43` | `1.0.44` |
| [zmij](https://github.com/dtolnay/zmij ) | `1.0.15` | `1.0.17` |
Bumps the non-rust-vmm group with 8 updates in the /fuzz directory:
| Package | From | To |
| --- | --- | --- |
| [signal-hook](https://github.com/vorner/signal-hook ) | `0.4.1` | `0.4.3` |
| [uuid](https://github.com/uuid-rs/uuid ) | `1.19.0` | `1.20.0` |
| [zerocopy](https://github.com/google/zerocopy ) | `0.8.33` | `0.8.34` |
| [gdbstub](https://github.com/daniel5151/gdbstub ) | `0.7.8` | `0.7.9` |
| [cc](https://github.com/rust-lang/cc-rs ) | `1.2.53` | `1.2.54` |
| [proc-macro2](https://github.com/dtolnay/proc-macro2 ) | `1.0.105` | `1.0.106` |
| [quote](https://github.com/dtolnay/quote ) | `1.0.43` | `1.0.44` |
| [zmij](https://github.com/dtolnay/zmij ) | `1.0.15` | `1.0.17` |
Updates `signal-hook` from 0.4.1 to 0.4.3
- [Changelog](https://github.com/vorner/signal-hook/blob/master/CHANGELOG.md )
- [Commits](https://github.com/vorner/signal-hook/compare/v0.4.1...v0.4.3 )
Updates `uuid` from 1.19.0 to 1.20.0
- [Release notes](https://github.com/uuid-rs/uuid/releases )
- [Commits](https://github.com/uuid-rs/uuid/compare/v1.19.0...v1.20.0 )
Updates `zerocopy` from 0.8.33 to 0.8.34
- [Release notes](https://github.com/google/zerocopy/releases )
- [Changelog](https://github.com/google/zerocopy/blob/main/CHANGELOG.md )
- [Commits](https://github.com/google/zerocopy/compare/v0.8.33...v0.8.34 )
Updates `gdbstub` from 0.7.8 to 0.7.9
- [Release notes](https://github.com/daniel5151/gdbstub/releases )
- [Changelog](https://github.com/daniel5151/gdbstub/blob/master/CHANGELOG.md )
- [Commits](https://github.com/daniel5151/gdbstub/compare/0.7.8...0.7.9 )
Updates `cc` from 1.2.53 to 1.2.54
- [Release notes](https://github.com/rust-lang/cc-rs/releases )
- [Changelog](https://github.com/rust-lang/cc-rs/blob/main/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/cc-rs/compare/cc-v1.2.53...cc-v1.2.54 )
Updates `proc-macro2` from 1.0.105 to 1.0.106
- [Release notes](https://github.com/dtolnay/proc-macro2/releases )
- [Commits](https://github.com/dtolnay/proc-macro2/compare/1.0.105...1.0.106 )
Updates `quote` from 1.0.43 to 1.0.44
- [Release notes](https://github.com/dtolnay/quote/releases )
- [Commits](https://github.com/dtolnay/quote/compare/1.0.43...1.0.44 )
Updates `zerocopy-derive` from 0.8.33 to 0.8.34
- [Release notes](https://github.com/google/zerocopy/releases )
- [Changelog](https://github.com/google/zerocopy/blob/main/CHANGELOG.md )
- [Commits](https://github.com/google/zerocopy/compare/v0.8.33...v0.8.34 )
Updates `zmij` from 1.0.15 to 1.0.17
- [Release notes](https://github.com/dtolnay/zmij/releases )
- [Commits](https://github.com/dtolnay/zmij/compare/1.0.15...1.0.17 )
Updates `signal-hook` from 0.4.1 to 0.4.3
- [Changelog](https://github.com/vorner/signal-hook/blob/master/CHANGELOG.md )
- [Commits](https://github.com/vorner/signal-hook/compare/v0.4.1...v0.4.3 )
Updates `uuid` from 1.19.0 to 1.20.0
- [Release notes](https://github.com/uuid-rs/uuid/releases )
- [Commits](https://github.com/uuid-rs/uuid/compare/v1.19.0...v1.20.0 )
Updates `zerocopy` from 0.8.33 to 0.8.34
- [Release notes](https://github.com/google/zerocopy/releases )
- [Changelog](https://github.com/google/zerocopy/blob/main/CHANGELOG.md )
- [Commits](https://github.com/google/zerocopy/compare/v0.8.33...v0.8.34 )
Updates `gdbstub` from 0.7.8 to 0.7.9
- [Release notes](https://github.com/daniel5151/gdbstub/releases )
- [Changelog](https://github.com/daniel5151/gdbstub/blob/master/CHANGELOG.md )
- [Commits](https://github.com/daniel5151/gdbstub/compare/0.7.8...0.7.9 )
Updates `cc` from 1.2.53 to 1.2.54
- [Release notes](https://github.com/rust-lang/cc-rs/releases )
- [Changelog](https://github.com/rust-lang/cc-rs/blob/main/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/cc-rs/compare/cc-v1.2.53...cc-v1.2.54 )
Updates `proc-macro2` from 1.0.105 to 1.0.106
- [Release notes](https://github.com/dtolnay/proc-macro2/releases )
- [Commits](https://github.com/dtolnay/proc-macro2/compare/1.0.105...1.0.106 )
Updates `quote` from 1.0.43 to 1.0.44
- [Release notes](https://github.com/dtolnay/quote/releases )
- [Commits](https://github.com/dtolnay/quote/compare/1.0.43...1.0.44 )
Updates `zerocopy-derive` from 0.8.33 to 0.8.34
- [Release notes](https://github.com/google/zerocopy/releases )
- [Changelog](https://github.com/google/zerocopy/blob/main/CHANGELOG.md )
- [Commits](https://github.com/google/zerocopy/compare/v0.8.33...v0.8.34 )
Updates `zmij` from 1.0.15 to 1.0.17
- [Release notes](https://github.com/dtolnay/zmij/releases )
- [Commits](https://github.com/dtolnay/zmij/compare/1.0.15...1.0.17 )
---
updated-dependencies:
- dependency-name: signal-hook
dependency-version: 0.4.3
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: uuid
dependency-version: 1.20.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: zerocopy
dependency-version: 0.8.34
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: gdbstub
dependency-version: 0.7.9
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: cc
dependency-version: 1.2.54
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: proc-macro2
dependency-version: 1.0.106
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: quote
dependency-version: 1.0.44
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: zerocopy-derive
dependency-version: 0.8.34
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: zmij
dependency-version: 1.0.17
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: signal-hook
dependency-version: 0.4.3
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: uuid
dependency-version: 1.20.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: zerocopy
dependency-version: 0.8.34
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: gdbstub
dependency-version: 0.7.9
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: cc
dependency-version: 1.2.54
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: proc-macro2
dependency-version: 1.0.106
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: quote
dependency-version: 1.0.44
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: zerocopy-derive
dependency-version: 0.8.34
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: zmij
dependency-version: 1.0.17
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-01-27 01:54:35 +00:00
dependabot[bot]
76822d853a
build: Bump crate-ci/typos from 1.42.1 to 1.42.2
...
Bumps [crate-ci/typos](https://github.com/crate-ci/typos ) from 1.42.1 to 1.42.2.
- [Release notes](https://github.com/crate-ci/typos/releases )
- [Changelog](https://github.com/crate-ci/typos/blob/master/CHANGELOG.md )
- [Commits](https://github.com/crate-ci/typos/compare/v1.42.1...v1.42.2 )
---
updated-dependencies:
- dependency-name: crate-ci/typos
dependency-version: 1.42.2
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-01-27 01:45:45 +00:00
Anatol Belski
919cce9b58
tests: qcow: Add dirty bit integration tests
...
Add tests to verify dirty bit is set while VM runs and cleared on
clean shutdown. As part of it, ensure graceful shutdown when OS
disk verification requires consistent image state.
Signed-off-by: Anatol Belski <anbelski@linux.microsoft.com >
2026-01-26 11:24:35 +00:00
Anatol Belski
82dc9bfaee
tests: qcow: Add unit tests for dirty bit support
...
Verify dirty bit is set on open and cleared on close for v3 images.
Ensure v2 and read-only files are not affected. Update existing
tests.
Signed-off-by: Anatol Belski <anbelski@linux.microsoft.com >
2026-01-26 11:24:35 +00:00
Anatol Belski
cc96fc14b4
block: qcow: Implement dirty bit support for QCOW2 v3 images
...
Add support for the dirty bit (bit 0 of incompatible_features) which
indicates the image was not closed cleanly. This improves data
integrity by allowing detection of potentially corrupted images.
On open:
- If dirty bit is already set, log a warning and trigger
refcount rebuild
- Set the dirty bit and write it to disk immediately
- Sync to ensure persistence before any writes
- Skip dirty bit and refcount rebuild for readonly files
On clean close:
- Clear the dirty bit in the header
- Write it to disk and sync
Signed-off-by: Anatol Belski <anbelski@linux.microsoft.com >
2026-01-26 11:24:35 +00:00
Anatol Belski
a6aecad635
tests: qcow: Add unit tests for variable refcount widths
...
Test all refcount_order values (0-6):
- Basic open for each width
- Write/read roundtrip
- Overwrite and multi-cluster allocation
- L2 cache eviction under memory pressure
- Sub-byte and byte-aligned max value handling
- Overflow error detection
Signed-off-by: Anatol Belski <anbelski@linux.microsoft.com >
2026-01-25 09:36:42 +00:00
Anatol Belski
6e7f888f5d
block: qcow: Add refcount overflow protection
...
Reject refcount values exceeding the maximum for the image's
refcount_order. This prevents silent truncation when storing
refcounts in narrow widths (e.g., 1-bit max is 1, 4-bit max is 15,
etc.).
Returns RefcountOverflow error with the attempted value, maximum,
and bit width. Propagates as EINVAL to the guest.
Signed-off-by: Anatol Belski <anbelski@linux.microsoft.com >
2026-01-25 09:36:42 +00:00
Anatol Belski
f8008191d2
block: qcow: Add support variable refcount widths
...
QCOW2 v3 specifies refcount_order 0-6 with
refcount_bits = 1 << refcount_order. Previously only 16-bit (order 4)
was supported.
Changes:
- RefcountBytes trait handles byte-aligned types (8/16/32/64-bit)
- Generic pack/unpack for sub-byte widths (1/2/4-bit)
- Function pointers for read/write selected at open time
- Internal refcount type widened from u16 to u64
Signed-off-by: Anatol Belski <anbelski@linux.microsoft.com >
2026-01-25 09:36:42 +00:00
Anatol Belski
e61901dfdc
block: qcow: Add tests for incompatible feature bit rejection
...
Add test cases verifying QCOW2 v3 images with unsupported incompatible
feature bits are correctly rejected.
Signed-off-by: Anatol Belski <anbelski@linux.microsoft.com >
2026-01-23 18:58:56 +00:00
Anatol Belski
7c99c169ba
block: qcow: Validate incompatible feature bits
...
Parse the feature name table header extension to provide descriptive
error messages when unsupported incompatible features are detected.
Currently only the compression bit (bit 3, zstd) is supported.
This prevents opening qcow2 images with features that would cause
incorrect behavior or data corruption (e.g., dirty bit, corrupt bit,
external data file, extended L2 entries).
Feature names are defined as follows:
1. The image's feature name table header extension (if present)
2. Hardcoded fallback names for known features
3. Generic "unknown feature bit N" for undefined features
Signed-off-by: Anatol Belski <anbelski@linux.microsoft.com >
Co-developed-by: Philipp Schuster <philipp.schuster@cyberus-technology.de >
2026-01-23 18:58:56 +00:00
Anatol Belski
eaafe426a6
tests: qcow: Add unit test for zero bit helpers
...
Add test for l2_entry_is_zero() and related helper functions.
Signed-off-by: Anatol Belski <anbelski@linux.microsoft.com >
2026-01-22 19:28:05 +00:00
Anatol Belski
13198777dd
block: qcow: Add support for zero bit in standard L2 clusters
...
Implement read support for bit 0 in QCOW2 L2 table entries.
When this flag is set, the cluster reads as zeros without accessing
disk. This improves compatibility with QCOW2 images that use this
optimization.
According to the QCOW2 specification, bit 0 of the standard cluster
descriptor indicates that the cluster reads as zeros. Unlike
l2_entry == 0 indicating a completely unallocated entry, bit 0 can
be set on an allocated cluster.
Signed-off-by: Anatol Belski <anbelski@linux.microsoft.com >
2026-01-22 19:28:05 +00:00
Saravanan D
d58e421eea
scripts: fix build_edk2 built marker creation
...
build_edk2 was leaving behind .built markers
even when compilation failed.
Gate creation of.built marker to occur only on
successful build
Modify build_edk2() to exit with error code
when arm64 firmware artifact : CLOUDHV_EFI.fd
is not produced
Fixes #7608
Signed-off-by: Saravanan D <saravanand@crusoe.ai >
2026-01-22 01:45:43 +00:00
Saravanan D
298da55902
scripts: fix build_edk2 compilation
...
build_edk2() module in scripts/common-aarch64.sh
does not produce the UEFI firmware for aarch64 as
the commits used to assemble sources for acpica,
edk2-platforms and edk2 do not compile after GCC
version upgraded from 11.4.0 to 13.3.0 in the
developer container (ubuntu 22.04 to 24.04)
Apply minimum upgrade to EDK2_REPO and ACPICA_REPO
required to compile with GCC 13.3.0
while still assuring guest VM boot for all
integration tests
BaseTools: Brotli compression submodule that was
previously failing has been fixed following commit
bump
Developers can now produce UEFI firmware for
aarch64 using the following commands
```
./scripts/dev_cli.sh shell
source scripts/test-util.sh
source scripts/common-aarch64.sh
build_edk2
```
Update docs/uefi.md
Fixes #7608
Signed-off-by: Saravanan D <saravanand@crusoe.ai >
2026-01-22 01:45:43 +00:00
Muminul Islam
c9cd82b52b
vmm: fix CVM boot failure on MSHV
...
Recent changes related to arm64 support in MSHV exposed
inconsistencies in the VM initialization and CVM boot paths.
The VM creation flow currently diverges across multiple scenarios,
including regular MSHV, CVM, and arm64, with each path performing
guest initialization steps in a different order.
Certain platform-specific requirements further constrain the ordering
of operations, such as the timing of address space creation,
IGVM loading, interrupt controller setup, and payload loading. For
CVM case address-space creation must be done after IGVM loading, and
PSP measurement. For Regular and arm64 this memory initialization
must be done early. For MSHV, vm.init() and sev_snp.init() are called in
different order which is run time and build time conditionally checked.
Additionally, while the KVM initialization path differs slightly
from MSHV, it shares common logic that is currently split across
separate conditional and build-time code paths, contributing to
fragmentation of the overall flow.
This change restructures the VM creation and initialization sequence
to better align shared logic, enforce scenario-specific ordering
constraints, and ensure consistent and correct behavior across all
supported configurations. In doing so, it restores proper CVM boot
behavior and improves the maintainability of the initialization code.
Signed-off-by: Muminul Islam <muislam@microsoft.com >
2026-01-21 19:40:17 +00:00
Rob Bradford
25e8e64a01
vhost_user_block: Return subset of config space requested
...
The spec says simply that that an empty payload should be returned on
error. Be slightly more helpful by adding a warning.
Signed-off-by: Rob Bradford <rbradford@meta.com >
2026-01-20 08:14:46 +00:00
Rob Bradford
15d34ffebb
virtio-devices: vhost-user: blk: Use zero configuration offset
...
Based upon the discussion and in
https://github.com/rust-vmm/vhost/issues/29#issue-830820820 and the QEMU
behaviour the get_config offset should be zero. This was not caught by
our integration tests as the vhost-user-blk backend as implemented in
this repository does not use the offset.
Fixes : #7615
Signed-off-by: Rob Bradford <rbradford@meta.com >
2026-01-20 08:14:46 +00:00
dependabot[bot]
cda1ec5fbc
build: Bump the non-rust-vmm group across 2 directories with 14 updates
...
Bumps the non-rust-vmm group with 8 updates in the / directory:
| Package | From | To |
| --- | --- | --- |
| [igvm](https://github.com/microsoft/igvm ) | ``81dd0e4`` | ``9848d1f`` |
| [thiserror](https://github.com/dtolnay/thiserror ) | `2.0.17` | `2.0.18` |
| [zbus](https://github.com/z-galaxy/zbus ) | `5.13.1` | `5.13.2` |
| [cc](https://github.com/rust-lang/cc-rs ) | `1.2.52` | `1.2.53` |
| [rand_core](https://github.com/rust-random/rand_core ) | `0.9.4` | `0.9.5` |
| [rustc-demangle](https://github.com/rust-lang/rustc-demangle ) | `0.1.26` | `0.1.27` |
| [wasip2](https://github.com/bytecodealliance/wasi-rs ) | `1.0.1+wasi-0.2.4` | `1.0.2+wasi-0.2.9` |
| [zmij](https://github.com/dtolnay/zmij ) | `1.0.13` | `1.0.15` |
Bumps the non-rust-vmm group with 5 updates in the /fuzz directory:
| Package | From | To |
| --- | --- | --- |
| [thiserror](https://github.com/dtolnay/thiserror ) | `2.0.17` | `2.0.18` |
| [cc](https://github.com/rust-lang/cc-rs ) | `1.2.52` | `1.2.53` |
| [rand_core](https://github.com/rust-random/rand_core ) | `0.9.4` | `0.9.5` |
| [wasip2](https://github.com/bytecodealliance/wasi-rs ) | `1.0.1+wasi-0.2.4` | `1.0.2+wasi-0.2.9` |
| [zmij](https://github.com/dtolnay/zmij ) | `1.0.13` | `1.0.15` |
Updates `igvm` from `81dd0e4` to `9848d1f`
- [Release notes](https://github.com/microsoft/igvm/releases )
- [Commits](81dd0e49cd...9848d1f2a8 )
Updates `igvm_defs` from `81dd0e4` to `9848d1f`
- [Release notes](https://github.com/microsoft/igvm/releases )
- [Commits](81dd0e49cd...9848d1f2a8 )
Updates `thiserror` from 2.0.17 to 2.0.18
- [Release notes](https://github.com/dtolnay/thiserror/releases )
- [Commits](https://github.com/dtolnay/thiserror/compare/2.0.17...2.0.18 )
Updates `zbus` from 5.13.1 to 5.13.2
- [Release notes](https://github.com/z-galaxy/zbus/releases )
- [Changelog](https://github.com/z-galaxy/zbus/blob/main/release-plz.toml )
- [Commits](https://github.com/z-galaxy/zbus/compare/zbus-5.13.1...zbus-5.13.2 )
Updates `cc` from 1.2.52 to 1.2.53
- [Release notes](https://github.com/rust-lang/cc-rs/releases )
- [Changelog](https://github.com/rust-lang/cc-rs/blob/main/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/cc-rs/compare/cc-v1.2.52...cc-v1.2.53 )
Updates `find-msvc-tools` from 0.1.7 to 0.1.8
- [Release notes](https://github.com/rust-lang/cc-rs/releases )
- [Changelog](https://github.com/rust-lang/cc-rs/blob/main/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/cc-rs/compare/find-msvc-tools-v0.1.7...find-msvc-tools-v0.1.8 )
Updates `rand_core` from 0.9.4 to 0.9.5
- [Changelog](https://github.com/rust-random/rand_core/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-random/rand_core/commits )
Updates `rustc-demangle` from 0.1.26 to 0.1.27
- [Release notes](https://github.com/rust-lang/rustc-demangle/releases )
- [Changelog](https://github.com/rust-lang/rustc-demangle/blob/main/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/rustc-demangle/compare/rustc-demangle-v0.1.26...rustc-demangle-v0.1.27 )
Updates `wasip2` from 1.0.1+wasi-0.2.4 to 1.0.2+wasi-0.2.9
- [Commits](https://github.com/bytecodealliance/wasi-rs/compare/wasip2-1.0.1...wasip2-1.0.2 )
Updates `wit-bindgen` from 0.46.0 to 0.51.0
- [Release notes](https://github.com/bytecodealliance/wit-bindgen/releases )
- [Commits](https://github.com/bytecodealliance/wit-bindgen/compare/v0.46.0...v0.51.0 )
Updates `zbus_macros` from 5.13.1 to 5.13.2
- [Release notes](https://github.com/z-galaxy/zbus/releases )
- [Changelog](https://github.com/z-galaxy/zbus/blob/main/release-plz.toml )
- [Commits](https://github.com/z-galaxy/zbus/compare/zbus_macros-5.13.1...zbus_macros-5.13.2 )
Updates `zmij` from 1.0.13 to 1.0.15
- [Release notes](https://github.com/dtolnay/zmij/releases )
- [Commits](https://github.com/dtolnay/zmij/compare/1.0.13...1.0.15 )
Updates `zvariant` from 5.9.1 to 5.9.2
- [Release notes](https://github.com/z-galaxy/zbus/releases )
- [Changelog](https://github.com/z-galaxy/zbus/blob/main/release-plz.toml )
- [Commits](https://github.com/z-galaxy/zbus/compare/zvariant-5.9.1...zvariant-5.9.2 )
Updates `zvariant_derive` from 5.9.1 to 5.9.2
- [Release notes](https://github.com/z-galaxy/zbus/releases )
- [Changelog](https://github.com/z-galaxy/zbus/blob/main/release-plz.toml )
- [Commits](https://github.com/z-galaxy/zbus/compare/zvariant_derive-5.9.1...zvariant_derive-5.9.2 )
Updates `thiserror` from 2.0.17 to 2.0.18
- [Release notes](https://github.com/dtolnay/thiserror/releases )
- [Commits](https://github.com/dtolnay/thiserror/compare/2.0.17...2.0.18 )
Updates `cc` from 1.2.52 to 1.2.53
- [Release notes](https://github.com/rust-lang/cc-rs/releases )
- [Changelog](https://github.com/rust-lang/cc-rs/blob/main/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/cc-rs/compare/cc-v1.2.52...cc-v1.2.53 )
Updates `find-msvc-tools` from 0.1.7 to 0.1.8
- [Release notes](https://github.com/rust-lang/cc-rs/releases )
- [Changelog](https://github.com/rust-lang/cc-rs/blob/main/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/cc-rs/compare/find-msvc-tools-v0.1.7...find-msvc-tools-v0.1.8 )
Updates `rand_core` from 0.9.4 to 0.9.5
- [Changelog](https://github.com/rust-random/rand_core/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-random/rand_core/commits )
Updates `wasip2` from 1.0.1+wasi-0.2.4 to 1.0.2+wasi-0.2.9
- [Commits](https://github.com/bytecodealliance/wasi-rs/compare/wasip2-1.0.1...wasip2-1.0.2 )
Updates `wit-bindgen` from 0.46.0 to 0.51.0
- [Release notes](https://github.com/bytecodealliance/wit-bindgen/releases )
- [Commits](https://github.com/bytecodealliance/wit-bindgen/compare/v0.46.0...v0.51.0 )
Updates `zmij` from 1.0.13 to 1.0.15
- [Release notes](https://github.com/dtolnay/zmij/releases )
- [Commits](https://github.com/dtolnay/zmij/compare/1.0.13...1.0.15 )
---
updated-dependencies:
- dependency-name: igvm
dependency-version: 9848d1f2a8a44931395a30debeae287b6d01505d
dependency-type: direct:production
dependency-group: non-rust-vmm
- dependency-name: igvm_defs
dependency-version: 9848d1f2a8a44931395a30debeae287b6d01505d
dependency-type: direct:production
dependency-group: non-rust-vmm
- dependency-name: thiserror
dependency-version: 2.0.18
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: zbus
dependency-version: 5.13.2
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: cc
dependency-version: 1.2.53
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: find-msvc-tools
dependency-version: 0.1.8
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: rand_core
dependency-version: 0.9.5
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: rustc-demangle
dependency-version: 0.1.27
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: wasip2
dependency-version: 1.0.2+wasi-0.2.9
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: wit-bindgen
dependency-version: 0.51.0
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: zbus_macros
dependency-version: 5.13.2
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: zmij
dependency-version: 1.0.15
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: zvariant
dependency-version: 5.9.2
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: zvariant_derive
dependency-version: 5.9.2
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: thiserror
dependency-version: 2.0.18
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: cc
dependency-version: 1.2.53
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: find-msvc-tools
dependency-version: 0.1.8
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: rand_core
dependency-version: 0.9.5
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: wasip2
dependency-version: 1.0.2+wasi-0.2.9
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: wit-bindgen
dependency-version: 0.51.0
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: zmij
dependency-version: 1.0.15
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-01-20 01:29:32 +00:00
dependabot[bot]
cdf14956e0
build: Bump crate-ci/typos from 1.42.0 to 1.42.1
...
Bumps [crate-ci/typos](https://github.com/crate-ci/typos ) from 1.42.0 to 1.42.1.
- [Release notes](https://github.com/crate-ci/typos/releases )
- [Changelog](https://github.com/crate-ci/typos/blob/master/CHANGELOG.md )
- [Commits](https://github.com/crate-ci/typos/compare/v1.42.0...v1.42.1 )
---
updated-dependencies:
- dependency-name: crate-ci/typos
dependency-version: 1.42.1
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-01-20 01:18:07 +00:00
Anirudh Rayabharam
e4f9610b5b
build: bump mshv crates to 0.6.6
...
Consume the latest mshv crates.
Refer to https://github.com/rust-vmm/mshv/pull/294 for the changelog.
Signed-off-by: Anirudh Rayabharam <anrayabh@microsoft.com >
2026-01-19 16:22:51 +00:00
Aastha Rawat
d5e35d9e5c
ci: get rid of continue-on-error from mshv workflows
...
Since the mshv integration workflow has been stable for a long time,
make the workflows no longer optional.
Signed-off-by: Aastha Rawat <aastharawat@microsoft.com >
2026-01-19 15:33:53 +00:00
Bo Chen
ccf0b9ec7d
vmm: Refactor IORT table generation to use structured data types
...
The current implementation is based on IORT spec revisition E.b [1].
[1] https://developer.arm.com/documentation/den0049/eb/?lang=en
Fixes : #7587
Signed-off-by: Bo Chen <bchen@crusoe.ai >
2026-01-16 19:07:44 +00:00
Anatol Belski
cde7856d9e
performance-metrics: Add warmup support for warm cache testing
...
Add warmup_iterations field to run iterations before measuring
performance. This complements existing cold start tests
by separating cache effects from steady state throughput.
New tests with 2 warmup iterations:
- block_qcow2_backing_qcow2_read_warm_MiBps
- block_qcow2_backing_raw_read_warm_MiBps
Results show warm cache is much faster and more consistent:
- QCOW2: 1766 MiB/s (4% variance) vs cold 960 MiB/s (73% variance)
- RAW: 1822 MiB/s (6% variance) vs cold 1300 MiB/s (55% variance)
RAW backing is 3% faster than QCOW2 in steady state.
Signed-off-by: Anatol Belski <anbelski@linux.microsoft.com >
2026-01-16 18:54:22 +00:00
Alyssa Ross
dee7993538
docs: fix gdb path option name
...
Fixes: fa22cb0be ("docs: update command line options to use clap")
Signed-off-by: Alyssa Ross <hi@alyssa.is >
2026-01-15 18:55:36 +00:00
Anatol Belski
4f69cf604a
tests: qcow: Add backing file verification for qcow2 images
...
- Automatically detect and verify backing files
- Verify backing file integrity with qemu-img check (qcow only)
- Compute DJB2 checksums before test to detect modifications
Signed-off-by: Anatol Belski <anbelski@linux.microsoft.com >
2026-01-15 16:19:15 +00:00
Anatol Belski
3fed706d6a
block: qcow: Fix v3 header writing and add extension tests
...
The write_to() function is used by test code to create qcow2 files for
testing. For v3 headers with extended header_size (>104), it needs to:
1. Write the mandatory compression_type field at bytes 104-111
2. Write the header extension end marker at the header_size offset
3. Seek to backing_file_offset before writing the backing file path
Additionally, create_for_size_and_path() must set backing_file_offset
to account for the 8 byte extension end marker in v3 files, so the
backing file path doesn't overwrite the extension area.
Add unit tests for read_header_extensions() covering backing format
parsing (raw/qcow2), unknown extensions, and error cases (invalid
formats, invalid UTF-8). These tests depend on the header writing fixes
to create properly formatted v3 test files.
Signed-off-by: Anatol Belski <anbelski@linux.microsoft.com >
2026-01-15 16:19:15 +00:00
Anatol Belski
9eb2b9b0e5
block: qcow: Implement extension parsing for QCOW v3
...
Add support for parsing QCOW v3 header extensions to read the
backing file format. The QCOW v3 spec allows optional header
extensions between the fixed header and the backing file name.
Implement read_header_extensions() to parse the extension area,
which starts at the header_size offset. At the moment it is
used to read the backing file format. Further extension
processing is open in folow up implementations.
Signed-off-by: Anatol Belski <anbelski@linux.microsoft.com >
2026-01-15 16:19:15 +00:00
Anatol Belski
10394da0c4
performance-metrics: Add RAW backing file performance tests
...
Add sequential and random read tests for QCOW2 overlays with
RAW backing files.
Signed-off-by: Anatol Belski <anbelski@linux.microsoft.com >
2026-01-15 16:19:15 +00:00
Anatol Belski
b3922dbd2c
block: qcow: Add raw backing file support
...
Add support for raw backing files in addition to qcow2 backing
files. This enables QCOW2 overlays to use raw images as their
backing store.
The backing file format is auto-detected when not specified,
using the existing detect_image_type() function.
Add backing_file_format field to QcowHeader to store the format
type, which will be populated from header extensions by a
subsequent patch.
Modify new_from_backing() to accept a backing_format parameter,
consolidating support for both raw and qcow2 backing files in a
single function. The backing_file_size parameter allows overlay
creation without opening the backing file multiple times.
Signed-off-by: Anatol Belski <anbelski@linux.microsoft.com >
2026-01-15 16:19:15 +00:00
Anatol Belski
cb495959a8
tests: qcow: Add testing for backing file in raw format
...
Signed-off-by: Anatol Belski <anbelski@linux.microsoft.com >
2026-01-15 16:19:15 +00:00
Stanislav Kinsburskii
de2d8f486b
hypervisor: mshv: Introduce CPU state update function and use it
...
In most of the cases, special registers don't change after emulations,
but current code sets them back unconditionally, and although some of
them are set over the register page, others require a system call and a
hypervisor to be updated, which is a waste it there were not changes.
Introduce and CPU update method for Microsoft Hypervisor emulator and
set special registers only when they were changed. This change reduces
guest boot time by 4% for a single VP guest boot (in L1VH partition) in
my experiments.
Signed-off-by: Stanislav Kinsburskii <skinsburskii@linux.microsoft.com >
2026-01-14 10:57:20 +00:00
Stanislav Kinsburskii
5aba9b4308
hypervisor: emulator: Pass CPU context to instruction stream emulator
...
This is a precursor change to overall ioctl and hypercall reduction
effort. The old (current) CPU state can be compared to the new to
determine what has changed and avoid unnecessary register updates.
Signed-off-by: Stanislav Kinsburskii <skinsburskii@linux.microsoft.com >
2026-01-14 10:57:20 +00:00
Yi Wang
03252f5851
docs: fix some syntax and bash usage
...
Minor modifications were made to make the sentences sound more natural.
Also fixed some parameter usage issues in bash code block.
Signed-off-by: Yi Wang <foxywang@tencent.com >
2026-01-14 09:20:34 +00:00
Yi Wang
34b8aed662
docs: fix some syntax and format issues in tdx/sev
...
There are some syntax and format issues in tdx/sev documents.
Make some modification to make the description more natural.
And the link of SEV-SNP is invalid, fix it.
Signed-off-by: Yi Wang <foxywang@tencent.com >
2026-01-14 09:20:34 +00:00
Yi Wang
2c2dec50f9
docs: fix minor syntax issues for debug
...
There are some minor syntax and command issues in debug-port document.
As commit 5febdec81a (vmm: Enable `gdbstub` on AArch64) supported
aarch64, the docs should keep consistent.
Signed-off-by: Yi Wang <foxywang@tencent.com >
2026-01-14 09:20:34 +00:00
Yi Wang
e7a151e953
docs: fix some minor syntax issues in api/building
...
Fix some minor syntax issues in api/building document to make
the sentences more fluent and easy to read.
Signed-off-by: Yi Wang <foxywang@tencent.com >
2026-01-14 09:20:34 +00:00
Yi Wang
7b92a36c4c
docs: fix syntax issues and struct description in devices
...
Some description in the device document were inconsistent with the
source code. Also fix some syntax issues to make the sentences more
fluent.
Signed-off-by: Yi Wang <foxywang@tencent.com >
2026-01-14 09:20:34 +00:00
Yi Wang
34ee973ee0
scripts: fix warning in test util
...
CI reports:
In scripts/test-util.sh line 216:
cleanup() {
^-- SC2329 (info): This function is never invoked. Check usage (or ignored if invoked indirectly).
The shellcheck can't trace calling in trap, so we need add hint
to make it happy.
Signed-off-by: Yi Wang <foxywang@tencent.com >
2026-01-14 09:04:07 +00:00
dependabot[bot]
c19ee037a2
build: Bump the non-rust-vmm group across 2 directories with 14 updates
...
Bumps the non-rust-vmm group with 7 updates in the / directory:
| Package | From | To |
| --- | --- | --- |
| [libc](https://github.com/rust-lang/libc ) | `0.2.179` | `0.2.180` |
| [flate2](https://github.com/rust-lang/flate2-rs ) | `1.1.5` | `1.1.8` |
| [zbus](https://github.com/z-galaxy/zbus ) | `5.12.0` | `5.13.1` |
| [cc](https://github.com/rust-lang/cc-rs ) | `1.2.51` | `1.2.52` |
| [clap_lex](https://github.com/clap-rs/clap ) | `0.7.6` | `0.7.7` |
| [rand_core](https://github.com/rust-random/rand ) | `0.9.3` | `0.9.4` |
| [zmij](https://github.com/dtolnay/zmij ) | `1.0.12` | `1.0.13` |
Bumps the non-rust-vmm group with 7 updates in the /fuzz directory:
| Package | From | To |
| --- | --- | --- |
| [libc](https://github.com/rust-lang/libc ) | `0.2.179` | `0.2.180` |
| [flate2](https://github.com/rust-lang/flate2-rs ) | `1.1.5` | `1.1.8` |
| [getrandom](https://github.com/rust-random/getrandom ) | `0.2.16` | `0.2.17` |
| [cc](https://github.com/rust-lang/cc-rs ) | `1.2.51` | `1.2.52` |
| [clap_lex](https://github.com/clap-rs/clap ) | `0.7.6` | `0.7.7` |
| [rand_core](https://github.com/rust-random/rand ) | `0.9.3` | `0.9.4` |
| [zmij](https://github.com/dtolnay/zmij ) | `1.0.12` | `1.0.13` |
Updates `libc` from 0.2.179 to 0.2.180
- [Release notes](https://github.com/rust-lang/libc/releases )
- [Changelog](https://github.com/rust-lang/libc/blob/0.2.180/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/libc/compare/0.2.179...0.2.180 )
Updates `flate2` from 1.1.5 to 1.1.8
- [Release notes](https://github.com/rust-lang/flate2-rs/releases )
- [Commits](https://github.com/rust-lang/flate2-rs/compare/1.1.5...1.1.8 )
Updates `zbus` from 5.12.0 to 5.13.1
- [Release notes](https://github.com/z-galaxy/zbus/releases )
- [Changelog](https://github.com/z-galaxy/zbus/blob/main/release-plz.toml )
- [Commits](https://github.com/z-galaxy/zbus/compare/zbus-5.12.0...zbus-5.13.1 )
Updates `cc` from 1.2.51 to 1.2.52
- [Release notes](https://github.com/rust-lang/cc-rs/releases )
- [Changelog](https://github.com/rust-lang/cc-rs/blob/main/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/cc-rs/compare/cc-v1.2.51...cc-v1.2.52 )
Updates `clap_lex` from 0.7.6 to 0.7.7
- [Release notes](https://github.com/clap-rs/clap/releases )
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md )
- [Commits](https://github.com/clap-rs/clap/compare/clap_lex-v0.7.6...clap_lex-v0.7.7 )
Updates `find-msvc-tools` from 0.1.6 to 0.1.7
- [Release notes](https://github.com/rust-lang/cc-rs/releases )
- [Changelog](https://github.com/rust-lang/cc-rs/blob/main/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/cc-rs/compare/find-msvc-tools-v0.1.6...find-msvc-tools-v0.1.7 )
Updates `rand_core` from 0.9.3 to 0.9.4
- [Release notes](https://github.com/rust-random/rand/releases )
- [Changelog](https://github.com/rust-random/rand/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-random/rand/commits )
Updates `zbus_macros` from 5.12.0 to 5.13.1
- [Release notes](https://github.com/z-galaxy/zbus/releases )
- [Changelog](https://github.com/z-galaxy/zbus/blob/main/release-plz.toml )
- [Commits](https://github.com/z-galaxy/zbus/compare/zbus-5.12.0...zbus_macros-5.13.1 )
Updates `zbus_names` from 4.2.0 to 4.3.1
- [Release notes](https://github.com/z-galaxy/zbus/releases )
- [Changelog](https://github.com/z-galaxy/zbus/blob/main/release-plz.toml )
- [Commits](https://github.com/z-galaxy/zbus/compare/zbus_names-4.2.0...zbus_names-4.3.1 )
Updates `zmij` from 1.0.12 to 1.0.13
- [Release notes](https://github.com/dtolnay/zmij/releases )
- [Commits](https://github.com/dtolnay/zmij/compare/1.0.12...1.0.13 )
Updates `zvariant` from 5.8.0 to 5.9.1
- [Release notes](https://github.com/z-galaxy/zbus/releases )
- [Changelog](https://github.com/z-galaxy/zbus/blob/main/release-plz.toml )
- [Commits](https://github.com/z-galaxy/zbus/compare/zvariant-5.8.0...zvariant-5.9.1 )
Updates `zvariant_derive` from 5.8.0 to 5.9.1
- [Release notes](https://github.com/z-galaxy/zbus/releases )
- [Changelog](https://github.com/z-galaxy/zbus/blob/main/release-plz.toml )
- [Commits](https://github.com/z-galaxy/zbus/compare/zbus-5.8.0...zvariant_derive-5.9.1 )
Updates `zvariant_utils` from 3.2.1 to 3.3.0
- [Release notes](https://github.com/z-galaxy/zbus/releases )
- [Changelog](https://github.com/z-galaxy/zbus/blob/main/release-plz.toml )
- [Commits](https://github.com/z-galaxy/zbus/compare/zvariant-3.2.1...zvariant_utils-3.3.0 )
Updates `libc` from 0.2.179 to 0.2.180
- [Release notes](https://github.com/rust-lang/libc/releases )
- [Changelog](https://github.com/rust-lang/libc/blob/0.2.180/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/libc/compare/0.2.179...0.2.180 )
Updates `flate2` from 1.1.5 to 1.1.8
- [Release notes](https://github.com/rust-lang/flate2-rs/releases )
- [Commits](https://github.com/rust-lang/flate2-rs/compare/1.1.5...1.1.8 )
Updates `getrandom` from 0.2.16 to 0.2.17
- [Changelog](https://github.com/rust-random/getrandom/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-random/getrandom/compare/v0.2.16...v0.2.17 )
Updates `cc` from 1.2.51 to 1.2.52
- [Release notes](https://github.com/rust-lang/cc-rs/releases )
- [Changelog](https://github.com/rust-lang/cc-rs/blob/main/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/cc-rs/compare/cc-v1.2.51...cc-v1.2.52 )
Updates `clap_lex` from 0.7.6 to 0.7.7
- [Release notes](https://github.com/clap-rs/clap/releases )
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md )
- [Commits](https://github.com/clap-rs/clap/compare/clap_lex-v0.7.6...clap_lex-v0.7.7 )
Updates `find-msvc-tools` from 0.1.6 to 0.1.7
- [Release notes](https://github.com/rust-lang/cc-rs/releases )
- [Changelog](https://github.com/rust-lang/cc-rs/blob/main/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/cc-rs/compare/find-msvc-tools-v0.1.6...find-msvc-tools-v0.1.7 )
Updates `rand_core` from 0.9.3 to 0.9.4
- [Release notes](https://github.com/rust-random/rand/releases )
- [Changelog](https://github.com/rust-random/rand/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-random/rand/commits )
Updates `zmij` from 1.0.12 to 1.0.13
- [Release notes](https://github.com/dtolnay/zmij/releases )
- [Commits](https://github.com/dtolnay/zmij/compare/1.0.12...1.0.13 )
---
updated-dependencies:
- dependency-name: libc
dependency-version: 0.2.180
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: flate2
dependency-version: 1.1.8
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: zbus
dependency-version: 5.13.1
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: cc
dependency-version: 1.2.52
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: clap_lex
dependency-version: 0.7.7
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: find-msvc-tools
dependency-version: 0.1.7
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: rand_core
dependency-version: 0.9.4
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: zbus_macros
dependency-version: 5.13.1
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: zbus_names
dependency-version: 4.3.1
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: zmij
dependency-version: 1.0.13
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: zvariant
dependency-version: 5.9.1
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: zvariant_derive
dependency-version: 5.9.1
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: zvariant_utils
dependency-version: 3.3.0
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: libc
dependency-version: 0.2.180
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: flate2
dependency-version: 1.1.8
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: getrandom
dependency-version: 0.2.17
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: cc
dependency-version: 1.2.52
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: clap_lex
dependency-version: 0.7.7
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: find-msvc-tools
dependency-version: 0.1.7
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: rand_core
dependency-version: 0.9.4
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: zmij
dependency-version: 1.0.13
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-01-13 05:09:15 +00:00
Bo Chen
11edb28069
vmm: acpi: Clarify device ID partitioning in IORT table
...
The IORT table's ID mapping uses a 256-ID offset per PCI segment to
ensure unique device IDs across all segments. This partitioning scheme
(output_base = 256 * segment_id) must match the device ID encoding used
in KVM MSI routing configuration [1].
This mapping assumes one bus per PCI segment, and supports up to 256 PCI
segments in the system.
[1] c9374d87ac
Signed-off-by: Bo Chen <bchen@crusoe.ai >
2026-01-12 17:18:52 +00:00
Bo Chen
01d711e893
vmm: acpi: Explicitly write ITS identifier in IORT table
...
The IORT specification (Revision E.b, Table 12) defines the ITS Group
Node structure with an ITS Identifiers array following the node header.
Although the IORT table is zero-initialized, this commit adds an
explicit write of the ITS identifier value (0) for clarity and spec
compliance.
This ITS identifier must match the `translation_id` field in the MADT
GIC ITS structure to ensure proper interrupt routing on ARM platforms.
Signed-off-by: Bo Chen <bchen@crusoe.ai >
2026-01-12 17:18:52 +00:00
Bo Chen
c87ca39219
vmm: acpi: Generate IORT table according to spec revision E.b
...
The current IORT table implementation is based on IORT Spec revision E.b
[1], as evidenced by:
* The PCI root complex node revision being set to `3`
* The code being updated in late 2021 [2] when revision E.b was the
latest version
This patch ensures the IORT table is properly generated according to
this specification revision, fixing three issues:
1. The IORT table revision should be `3` rather than `2` (see Table 2 in
the spec [1])
2. The GIC ITS group node revision should be `1` rather than `0`
(see Table 12 in the spec [1])
3. The "Memory access properties" and "ATS Attribute" fields of the PCI
root complex node was set incorrectly - specifically the MAF (Memory
Access Flags) including CPM and DACS bits (see Tables 14, 15, and 17
in the spec [1])
[1] https://developer.arm.com/documentation/den0049/eb/?lang=en
[2] https://github.com/cloud-hypervisor/cloud-hypervisor/pull/3356
Signed-off-by: Bo Chen <bchen@crusoe.ai >
2026-01-12 17:18:52 +00:00
Demi Marie Obenour
079d94ecae
seccomp: Add gettid() to all seccomp filters
...
It should always succeed and is apparently implicitly called by libc or
some dependency somewhere.
Signed-off-by: Demi Marie Obenour <demiobenour@gmail.com >
2026-01-10 19:18:04 +00:00
dependabot[bot]
847de7e86e
build: Bump crate-ci/typos from 1.41.0 to 1.42.0
...
Bumps [crate-ci/typos](https://github.com/crate-ci/typos ) from 1.41.0 to 1.42.0.
- [Release notes](https://github.com/crate-ci/typos/releases )
- [Changelog](https://github.com/crate-ci/typos/blob/master/CHANGELOG.md )
- [Commits](https://github.com/crate-ci/typos/compare/v1.41.0...v1.42.0 )
---
updated-dependencies:
- dependency-name: crate-ci/typos
dependency-version: 1.42.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-01-08 02:30:09 +00:00
dependabot[bot]
c396f1ad2a
build: Bump the non-rust-vmm group across 2 directories with 9 updates
...
Bumps the non-rust-vmm group with 7 updates in the / directory:
| Package | From | To |
| --- | --- | --- |
| [serde_json](https://github.com/serde-rs/json ) | `1.0.148` | `1.0.149` |
| [zerocopy](https://github.com/google/zerocopy ) | `0.8.31` | `0.8.33` |
| [indexmap](https://github.com/indexmap-rs/indexmap ) | `2.12.1` | `2.13.0` |
| [jiff](https://github.com/BurntSushi/jiff ) | `0.2.17` | `0.2.18` |
| [quote](https://github.com/dtolnay/quote ) | `1.0.42` | `1.0.43` |
| [syn](https://github.com/dtolnay/syn ) | `2.0.113` | `2.0.114` |
| [zmij](https://github.com/dtolnay/zmij ) | `1.0.11` | `1.0.12` |
Bumps the non-rust-vmm group with 6 updates in the /fuzz directory:
| Package | From | To |
| --- | --- | --- |
| [serde_json](https://github.com/serde-rs/json ) | `1.0.148` | `1.0.149` |
| [zerocopy](https://github.com/google/zerocopy ) | `0.8.31` | `0.8.33` |
| [indexmap](https://github.com/indexmap-rs/indexmap ) | `2.12.1` | `2.13.0` |
| [quote](https://github.com/dtolnay/quote ) | `1.0.42` | `1.0.43` |
| [syn](https://github.com/dtolnay/syn ) | `2.0.113` | `2.0.114` |
| [zmij](https://github.com/dtolnay/zmij ) | `1.0.11` | `1.0.12` |
Updates `serde_json` from 1.0.148 to 1.0.149
- [Release notes](https://github.com/serde-rs/json/releases )
- [Commits](https://github.com/serde-rs/json/compare/v1.0.148...v1.0.149 )
Updates `zerocopy` from 0.8.31 to 0.8.33
- [Release notes](https://github.com/google/zerocopy/releases )
- [Changelog](https://github.com/google/zerocopy/blob/main/CHANGELOG.md )
- [Commits](https://github.com/google/zerocopy/compare/v0.8.31...v0.8.33 )
Updates `indexmap` from 2.12.1 to 2.13.0
- [Changelog](https://github.com/indexmap-rs/indexmap/blob/main/RELEASES.md )
- [Commits](https://github.com/indexmap-rs/indexmap/compare/2.12.1...2.13.0 )
Updates `jiff` from 0.2.17 to 0.2.18
- [Release notes](https://github.com/BurntSushi/jiff/releases )
- [Changelog](https://github.com/BurntSushi/jiff/blob/master/CHANGELOG.md )
- [Commits](https://github.com/BurntSushi/jiff/compare/jiff-static-0.2.17...jiff-static-0.2.18 )
Updates `jiff-static` from 0.2.17 to 0.2.18
- [Release notes](https://github.com/BurntSushi/jiff/releases )
- [Changelog](https://github.com/BurntSushi/jiff/blob/master/CHANGELOG.md )
- [Commits](https://github.com/BurntSushi/jiff/compare/jiff-static-0.2.17...jiff-static-0.2.18 )
Updates `quote` from 1.0.42 to 1.0.43
- [Release notes](https://github.com/dtolnay/quote/releases )
- [Commits](https://github.com/dtolnay/quote/compare/1.0.42...1.0.43 )
Updates `syn` from 2.0.113 to 2.0.114
- [Release notes](https://github.com/dtolnay/syn/releases )
- [Commits](https://github.com/dtolnay/syn/compare/2.0.113...2.0.114 )
Updates `zerocopy-derive` from 0.8.31 to 0.8.33
- [Release notes](https://github.com/google/zerocopy/releases )
- [Changelog](https://github.com/google/zerocopy/blob/main/CHANGELOG.md )
- [Commits](https://github.com/google/zerocopy/compare/v0.8.31...v0.8.33 )
Updates `zmij` from 1.0.11 to 1.0.12
- [Release notes](https://github.com/dtolnay/zmij/releases )
- [Commits](https://github.com/dtolnay/zmij/compare/1.0.11...1.0.12 )
Updates `serde_json` from 1.0.148 to 1.0.149
- [Release notes](https://github.com/serde-rs/json/releases )
- [Commits](https://github.com/serde-rs/json/compare/v1.0.148...v1.0.149 )
Updates `zerocopy` from 0.8.31 to 0.8.33
- [Release notes](https://github.com/google/zerocopy/releases )
- [Changelog](https://github.com/google/zerocopy/blob/main/CHANGELOG.md )
- [Commits](https://github.com/google/zerocopy/compare/v0.8.31...v0.8.33 )
Updates `indexmap` from 2.12.1 to 2.13.0
- [Changelog](https://github.com/indexmap-rs/indexmap/blob/main/RELEASES.md )
- [Commits](https://github.com/indexmap-rs/indexmap/compare/2.12.1...2.13.0 )
Updates `quote` from 1.0.42 to 1.0.43
- [Release notes](https://github.com/dtolnay/quote/releases )
- [Commits](https://github.com/dtolnay/quote/compare/1.0.42...1.0.43 )
Updates `syn` from 2.0.113 to 2.0.114
- [Release notes](https://github.com/dtolnay/syn/releases )
- [Commits](https://github.com/dtolnay/syn/compare/2.0.113...2.0.114 )
Updates `zerocopy-derive` from 0.8.31 to 0.8.33
- [Release notes](https://github.com/google/zerocopy/releases )
- [Changelog](https://github.com/google/zerocopy/blob/main/CHANGELOG.md )
- [Commits](https://github.com/google/zerocopy/compare/v0.8.31...v0.8.33 )
Updates `zmij` from 1.0.11 to 1.0.12
- [Release notes](https://github.com/dtolnay/zmij/releases )
- [Commits](https://github.com/dtolnay/zmij/compare/1.0.11...1.0.12 )
---
updated-dependencies:
- dependency-name: serde_json
dependency-version: 1.0.149
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: zerocopy
dependency-version: 0.8.33
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: indexmap
dependency-version: 2.13.0
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: jiff
dependency-version: 0.2.18
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: jiff-static
dependency-version: 0.2.18
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: quote
dependency-version: 1.0.43
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: syn
dependency-version: 2.0.114
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: zerocopy-derive
dependency-version: 0.8.33
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: zmij
dependency-version: 1.0.12
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: serde_json
dependency-version: 1.0.149
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: zerocopy
dependency-version: 0.8.33
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: indexmap
dependency-version: 2.13.0
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: quote
dependency-version: 1.0.43
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: syn
dependency-version: 2.0.114
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: zerocopy-derive
dependency-version: 0.8.33
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: zmij
dependency-version: 1.0.12
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-01-07 18:10:23 +00:00
Demi Marie Obenour
2e05836669
hypervisor: Suppress unused_unsafe warning
...
x86::__cpuid is safe on Rust ≥1.94 but unsafe on older versions. This
causes unused_unsafe warnings when compiling with Rust ≥1.94. However,
on earlier Rust versions, the code won’t compile if the unsafe blocks
are absent.
Work around this by adding #[allow(unused_unsafe)] where needed to
suppress the warnings.
See #7588 for more discussion.
Signed-off-by: Demi Marie Obenour <demiobenour@gmail.com >
2026-01-07 00:20:41 +00:00
dependabot[bot]
f6f0d49c62
build: Bump the non-rust-vmm group across 2 directories with 6 updates
...
Bumps the non-rust-vmm group with 5 updates in the / directory:
| Package | From | To |
| --- | --- | --- |
| [clap](https://github.com/clap-rs/clap ) | `4.5.53` | `4.5.54` |
| [libc](https://github.com/rust-lang/libc ) | `0.2.178` | `0.2.179` |
| [proc-macro2](https://github.com/dtolnay/proc-macro2 ) | `1.0.104` | `1.0.105` |
| [syn](https://github.com/dtolnay/syn ) | `2.0.111` | `2.0.113` |
| [zmij](https://github.com/dtolnay/zmij ) | `1.0.3` | `1.0.11` |
Bumps the non-rust-vmm group with 5 updates in the /fuzz directory:
| Package | From | To |
| --- | --- | --- |
| [clap](https://github.com/clap-rs/clap ) | `4.5.53` | `4.5.54` |
| [libc](https://github.com/rust-lang/libc ) | `0.2.178` | `0.2.179` |
| [proc-macro2](https://github.com/dtolnay/proc-macro2 ) | `1.0.104` | `1.0.105` |
| [syn](https://github.com/dtolnay/syn ) | `2.0.111` | `2.0.113` |
| [zmij](https://github.com/dtolnay/zmij ) | `1.0.3` | `1.0.11` |
Updates `clap` from 4.5.53 to 4.5.54
- [Release notes](https://github.com/clap-rs/clap/releases )
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md )
- [Commits](https://github.com/clap-rs/clap/compare/clap_complete-v4.5.53...clap_complete-v4.5.54 )
Updates `libc` from 0.2.178 to 0.2.179
- [Release notes](https://github.com/rust-lang/libc/releases )
- [Changelog](https://github.com/rust-lang/libc/blob/main/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/libc/compare/0.2.178...0.2.179 )
Updates `clap_builder` from 4.5.53 to 4.5.54
- [Release notes](https://github.com/clap-rs/clap/releases )
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md )
- [Commits](https://github.com/clap-rs/clap/compare/v4.5.53...v4.5.54 )
Updates `proc-macro2` from 1.0.104 to 1.0.105
- [Release notes](https://github.com/dtolnay/proc-macro2/releases )
- [Commits](https://github.com/dtolnay/proc-macro2/compare/1.0.104...1.0.105 )
Updates `syn` from 2.0.111 to 2.0.113
- [Release notes](https://github.com/dtolnay/syn/releases )
- [Commits](https://github.com/dtolnay/syn/compare/2.0.111...2.0.113 )
Updates `zmij` from 1.0.3 to 1.0.11
- [Release notes](https://github.com/dtolnay/zmij/releases )
- [Commits](https://github.com/dtolnay/zmij/compare/1.0.3...1.0.11 )
Updates `clap` from 4.5.53 to 4.5.54
- [Release notes](https://github.com/clap-rs/clap/releases )
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md )
- [Commits](https://github.com/clap-rs/clap/compare/clap_complete-v4.5.53...clap_complete-v4.5.54 )
Updates `libc` from 0.2.178 to 0.2.179
- [Release notes](https://github.com/rust-lang/libc/releases )
- [Changelog](https://github.com/rust-lang/libc/blob/main/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/libc/compare/0.2.178...0.2.179 )
Updates `clap_builder` from 4.5.53 to 4.5.54
- [Release notes](https://github.com/clap-rs/clap/releases )
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md )
- [Commits](https://github.com/clap-rs/clap/compare/v4.5.53...v4.5.54 )
Updates `proc-macro2` from 1.0.104 to 1.0.105
- [Release notes](https://github.com/dtolnay/proc-macro2/releases )
- [Commits](https://github.com/dtolnay/proc-macro2/compare/1.0.104...1.0.105 )
Updates `syn` from 2.0.111 to 2.0.113
- [Release notes](https://github.com/dtolnay/syn/releases )
- [Commits](https://github.com/dtolnay/syn/compare/2.0.111...2.0.113 )
Updates `zmij` from 1.0.3 to 1.0.11
- [Release notes](https://github.com/dtolnay/zmij/releases )
- [Commits](https://github.com/dtolnay/zmij/compare/1.0.3...1.0.11 )
---
updated-dependencies:
- dependency-name: clap
dependency-version: 4.5.54
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: libc
dependency-version: 0.2.179
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: clap_builder
dependency-version: 4.5.54
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: proc-macro2
dependency-version: 1.0.105
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: syn
dependency-version: 2.0.113
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: zmij
dependency-version: 1.0.11
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: clap
dependency-version: 4.5.54
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: libc
dependency-version: 0.2.179
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: clap_builder
dependency-version: 4.5.54
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: proc-macro2
dependency-version: 1.0.105
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: syn
dependency-version: 2.0.113
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: zmij
dependency-version: 1.0.11
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-01-06 00:33:49 +00:00
Anatol Belski
3657db7843
vmm: mshv: Set PROCESSORS_PER_SOCKET property for CPU topologies
...
On MSHV, exposing multithreaded CPU topologies requires setting the
PROCESSORS_PER_SOCKET partition property so that CPUID.0xB reports
correct logical processor counts and topology levels to the guest.
This property must be set after all vCPUs are configured, as the
hypervisor uses the complete vCPU layout to derive and report CPU
topology information.
Signed-off-by: Anatol Belski <anbelski@linux.microsoft.com >
2026-01-05 21:41:28 +00:00
Anatol Belski
dccdb223b7
tests: Re-enable CPU topology tests on MSHV
...
Fixes : #7433
Signed-off-by: Anatol Belski <anbelski@linux.microsoft.com >
2026-01-05 21:41:28 +00:00
dependabot[bot]
de618ec35e
build: Bump crate-ci/typos from 1.40.1 to 1.41.0
...
Bumps [crate-ci/typos](https://github.com/crate-ci/typos ) from 1.40.1 to 1.41.0.
- [Release notes](https://github.com/crate-ci/typos/releases )
- [Changelog](https://github.com/crate-ci/typos/blob/master/CHANGELOG.md )
- [Commits](https://github.com/crate-ci/typos/compare/v1.40.1...v1.41.0 )
---
updated-dependencies:
- dependency-name: crate-ci/typos
dependency-version: 1.41.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-01-01 00:04:28 +00:00
dependabot[bot]
379e2d4647
build: Bump the non-rust-vmm group across 2 directories with 14 updates
...
Bumps the non-rust-vmm group with 12 updates in the / directory:
| Package | From | To |
| --- | --- | --- |
| [serde_json](https://github.com/serde-rs/json ) | `1.0.146` | `1.0.148` |
| [signal-hook](https://github.com/vorner/signal-hook ) | `0.3.18` | `0.4.1` |
| [arc-swap](https://github.com/vorner/arc-swap ) | `1.7.1` | `1.8.0` |
| [cc](https://github.com/rust-lang/cc-rs ) | `1.2.50` | `1.2.51` |
| [itoa](https://github.com/dtolnay/itoa ) | `1.0.16` | `1.0.17` |
| [jiff](https://github.com/BurntSushi/jiff ) | `0.2.16` | `0.2.17` |
| libredox | `0.1.11` | `0.1.12` |
| [portable-atomic](https://github.com/taiki-e/portable-atomic ) | `1.12.0` | `1.13.0` |
| [proc-macro2](https://github.com/dtolnay/proc-macro2 ) | `1.0.103` | `1.0.104` |
| [rustix](https://github.com/bytecodealliance/rustix ) | `1.1.2` | `1.1.3` |
| [signal-hook-registry](https://github.com/vorner/signal-hook ) | `1.4.7` | `1.4.8` |
| [tempfile](https://github.com/Stebalien/tempfile ) | `3.23.0` | `3.24.0` |
Bumps the non-rust-vmm group with 7 updates in the /fuzz directory:
| Package | From | To |
| --- | --- | --- |
| [serde_json](https://github.com/serde-rs/json ) | `1.0.146` | `1.0.148` |
| [signal-hook](https://github.com/vorner/signal-hook ) | `0.3.18` | `0.4.1` |
| [arc-swap](https://github.com/vorner/arc-swap ) | `1.7.1` | `1.8.0` |
| [cc](https://github.com/rust-lang/cc-rs ) | `1.2.50` | `1.2.51` |
| [itoa](https://github.com/dtolnay/itoa ) | `1.0.16` | `1.0.17` |
| [proc-macro2](https://github.com/dtolnay/proc-macro2 ) | `1.0.103` | `1.0.104` |
| [signal-hook-registry](https://github.com/vorner/signal-hook ) | `1.4.7` | `1.4.8` |
Updates `serde_json` from 1.0.146 to 1.0.148
- [Release notes](https://github.com/serde-rs/json/releases )
- [Commits](https://github.com/serde-rs/json/compare/v1.0.146...v1.0.148 )
Updates `signal-hook` from 0.3.18 to 0.4.1
- [Changelog](https://github.com/vorner/signal-hook/blob/master/CHANGELOG.md )
- [Commits](https://github.com/vorner/signal-hook/compare/v0.3.18...v0.4.1 )
Updates `arc-swap` from 1.7.1 to 1.8.0
- [Changelog](https://github.com/vorner/arc-swap/blob/master/CHANGELOG.md )
- [Commits](https://github.com/vorner/arc-swap/compare/v1.7.1...v1.8.0 )
Updates `cc` from 1.2.50 to 1.2.51
- [Release notes](https://github.com/rust-lang/cc-rs/releases )
- [Changelog](https://github.com/rust-lang/cc-rs/blob/main/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/cc-rs/compare/cc-v1.2.50...cc-v1.2.51 )
Updates `find-msvc-tools` from 0.1.5 to 0.1.6
- [Release notes](https://github.com/rust-lang/cc-rs/releases )
- [Changelog](https://github.com/rust-lang/cc-rs/blob/main/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/cc-rs/compare/find-msvc-tools-v0.1.5...find-msvc-tools-v0.1.6 )
Updates `itoa` from 1.0.16 to 1.0.17
- [Release notes](https://github.com/dtolnay/itoa/releases )
- [Commits](https://github.com/dtolnay/itoa/compare/1.0.16...1.0.17 )
Updates `jiff` from 0.2.16 to 0.2.17
- [Release notes](https://github.com/BurntSushi/jiff/releases )
- [Changelog](https://github.com/BurntSushi/jiff/blob/master/CHANGELOG.md )
- [Commits](https://github.com/BurntSushi/jiff/compare/jiff-static-0.2.16...jiff-static-0.2.17 )
Updates `jiff-static` from 0.2.16 to 0.2.17
- [Release notes](https://github.com/BurntSushi/jiff/releases )
- [Changelog](https://github.com/BurntSushi/jiff/blob/master/CHANGELOG.md )
- [Commits](https://github.com/BurntSushi/jiff/compare/jiff-static-0.2.16...jiff-static-0.2.17 )
Updates `libredox` from 0.1.11 to 0.1.12
Updates `portable-atomic` from 1.12.0 to 1.13.0
- [Release notes](https://github.com/taiki-e/portable-atomic/releases )
- [Changelog](https://github.com/taiki-e/portable-atomic/blob/main/CHANGELOG.md )
- [Commits](https://github.com/taiki-e/portable-atomic/compare/v1.12.0...v1.13.0 )
Updates `proc-macro2` from 1.0.103 to 1.0.104
- [Release notes](https://github.com/dtolnay/proc-macro2/releases )
- [Commits](https://github.com/dtolnay/proc-macro2/compare/1.0.103...1.0.104 )
Updates `rustix` from 1.1.2 to 1.1.3
- [Release notes](https://github.com/bytecodealliance/rustix/releases )
- [Changelog](https://github.com/bytecodealliance/rustix/blob/main/CHANGES.md )
- [Commits](https://github.com/bytecodealliance/rustix/compare/v1.1.2...v1.1.3 )
Updates `signal-hook-registry` from 1.4.7 to 1.4.8
- [Changelog](https://github.com/vorner/signal-hook/blob/master/CHANGELOG.md )
- [Commits](https://github.com/vorner/signal-hook/compare/registry-v1.4.7...registry-v1.4.8 )
Updates `tempfile` from 3.23.0 to 3.24.0
- [Changelog](https://github.com/Stebalien/tempfile/blob/master/CHANGELOG.md )
- [Commits](https://github.com/Stebalien/tempfile/compare/v3.23.0...v3.24.0 )
Updates `serde_json` from 1.0.146 to 1.0.148
- [Release notes](https://github.com/serde-rs/json/releases )
- [Commits](https://github.com/serde-rs/json/compare/v1.0.146...v1.0.148 )
Updates `signal-hook` from 0.3.18 to 0.4.1
- [Changelog](https://github.com/vorner/signal-hook/blob/master/CHANGELOG.md )
- [Commits](https://github.com/vorner/signal-hook/compare/v0.3.18...v0.4.1 )
Updates `arc-swap` from 1.7.1 to 1.8.0
- [Changelog](https://github.com/vorner/arc-swap/blob/master/CHANGELOG.md )
- [Commits](https://github.com/vorner/arc-swap/compare/v1.7.1...v1.8.0 )
Updates `cc` from 1.2.50 to 1.2.51
- [Release notes](https://github.com/rust-lang/cc-rs/releases )
- [Changelog](https://github.com/rust-lang/cc-rs/blob/main/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/cc-rs/compare/cc-v1.2.50...cc-v1.2.51 )
Updates `find-msvc-tools` from 0.1.5 to 0.1.6
- [Release notes](https://github.com/rust-lang/cc-rs/releases )
- [Changelog](https://github.com/rust-lang/cc-rs/blob/main/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/cc-rs/compare/find-msvc-tools-v0.1.5...find-msvc-tools-v0.1.6 )
Updates `itoa` from 1.0.16 to 1.0.17
- [Release notes](https://github.com/dtolnay/itoa/releases )
- [Commits](https://github.com/dtolnay/itoa/compare/1.0.16...1.0.17 )
Updates `proc-macro2` from 1.0.103 to 1.0.104
- [Release notes](https://github.com/dtolnay/proc-macro2/releases )
- [Commits](https://github.com/dtolnay/proc-macro2/compare/1.0.103...1.0.104 )
Updates `signal-hook-registry` from 1.4.7 to 1.4.8
- [Changelog](https://github.com/vorner/signal-hook/blob/master/CHANGELOG.md )
- [Commits](https://github.com/vorner/signal-hook/compare/registry-v1.4.7...registry-v1.4.8 )
---
updated-dependencies:
- dependency-name: serde_json
dependency-version: 1.0.148
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: signal-hook
dependency-version: 0.4.1
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: arc-swap
dependency-version: 1.8.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: cc
dependency-version: 1.2.51
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: find-msvc-tools
dependency-version: 0.1.6
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: itoa
dependency-version: 1.0.17
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: jiff
dependency-version: 0.2.17
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: jiff-static
dependency-version: 0.2.17
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: libredox
dependency-version: 0.1.12
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: portable-atomic
dependency-version: 1.13.0
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: proc-macro2
dependency-version: 1.0.104
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: rustix
dependency-version: 1.1.3
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: signal-hook-registry
dependency-version: 1.4.8
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: tempfile
dependency-version: 3.24.0
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: serde_json
dependency-version: 1.0.148
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: signal-hook
dependency-version: 0.4.1
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: arc-swap
dependency-version: 1.8.0
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: cc
dependency-version: 1.2.51
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: find-msvc-tools
dependency-version: 0.1.6
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: itoa
dependency-version: 1.0.17
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: proc-macro2
dependency-version: 1.0.104
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: signal-hook-registry
dependency-version: 1.4.8
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-12-30 04:25:34 +00:00
dependabot[bot]
14911a9518
build: Bump ryu from 1.0.21 to 1.0.22 in /fuzz
...
Bumps [ryu](https://github.com/dtolnay/ryu ) from 1.0.21 to 1.0.22.
- [Release notes](https://github.com/dtolnay/ryu/releases )
- [Commits](https://github.com/dtolnay/ryu/compare/1.0.21...1.0.22 )
---
updated-dependencies:
- dependency-name: ryu
dependency-version: 1.0.22
dependency-type: indirect
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-12-30 01:23:44 +00:00
dependabot[bot]
f11682feea
build: Bump ryu from 1.0.21 to 1.0.22
...
Bumps [ryu](https://github.com/dtolnay/ryu ) from 1.0.21 to 1.0.22.
- [Release notes](https://github.com/dtolnay/ryu/releases )
- [Commits](https://github.com/dtolnay/ryu/compare/1.0.21...1.0.22 )
---
updated-dependencies:
- dependency-name: ryu
dependency-version: 1.0.22
dependency-type: indirect
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-12-30 00:24:38 +00:00
dependabot[bot]
db205150f9
build: Bump crate-ci/typos from 1.40.0 to 1.40.1
...
Bumps [crate-ci/typos](https://github.com/crate-ci/typos ) from 1.40.0 to 1.40.1.
- [Release notes](https://github.com/crate-ci/typos/releases )
- [Changelog](https://github.com/crate-ci/typos/blob/master/CHANGELOG.md )
- [Commits](https://github.com/crate-ci/typos/compare/v1.40.0...v1.40.1 )
---
updated-dependencies:
- dependency-name: crate-ci/typos
dependency-version: 1.40.1
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-12-30 00:05:16 +00:00
Demi Marie Obenour
aca7b01c6b
net_util: Fix MAC address parsing
...
It wrongly allowed addresses containing a + instead of a hex character.
Signed-off-by: Demi Marie Obenour <demiobenour@gmail.com >
2025-12-29 12:09:53 +00:00
dependabot[bot]
d741cd53de
build: Bump the non-rust-vmm group across 2 directories with 15 updates
...
Bumps the non-rust-vmm group with 12 updates in the / directory:
| Package | From | To |
| --- | --- | --- |
| [igvm](https://github.com/microsoft/igvm ) | ``5d2b5a5`` | ``81dd0e4`` |
| [serde_json](https://github.com/serde-rs/json ) | `1.0.145` | `1.0.146` |
| [async-lock](https://github.com/smol-rs/async-lock ) | `3.4.1` | `3.4.2` |
| [bumpalo](https://github.com/fitzgen/bumpalo ) | `3.19.0` | `3.19.1` |
| [cc](https://github.com/rust-lang/cc-rs ) | `1.2.49` | `1.2.50` |
| [itoa](https://github.com/dtolnay/itoa ) | `1.0.15` | `1.0.16` |
| libredox | `0.1.10` | `0.1.11` |
| [portable-atomic](https://github.com/taiki-e/portable-atomic ) | `1.11.1` | `1.12.0` |
| [ryu](https://github.com/dtolnay/ryu ) | `1.0.20` | `1.0.21` |
| [toml_datetime](https://github.com/toml-rs/toml ) | `0.7.3` | `0.7.5+spec-1.1.0` |
| [toml_edit](https://github.com/toml-rs/toml ) | `0.23.9` | `0.23.10+spec-1.0.0` |
| [tracing](https://github.com/tokio-rs/tracing ) | `0.1.43` | `0.1.44` |
Bumps the non-rust-vmm group with 7 updates in the /fuzz directory:
| Package | From | To |
| --- | --- | --- |
| [serde_json](https://github.com/serde-rs/json ) | `1.0.145` | `1.0.146` |
| [bumpalo](https://github.com/fitzgen/bumpalo ) | `3.19.0` | `3.19.1` |
| [cc](https://github.com/rust-lang/cc-rs ) | `1.2.49` | `1.2.50` |
| [itoa](https://github.com/dtolnay/itoa ) | `1.0.15` | `1.0.16` |
| [ryu](https://github.com/dtolnay/ryu ) | `1.0.20` | `1.0.21` |
| [toml_datetime](https://github.com/toml-rs/toml ) | `0.7.3` | `0.7.5+spec-1.1.0` |
| [toml_edit](https://github.com/toml-rs/toml ) | `0.23.9` | `0.23.10+spec-1.0.0` |
Updates `igvm` from `5d2b5a5` to `81dd0e4`
- [Release notes](https://github.com/microsoft/igvm/releases )
- [Commits](5d2b5a58e0...81dd0e49cd )
Updates `igvm_defs` from `5d2b5a5` to `81dd0e4`
- [Release notes](https://github.com/microsoft/igvm/releases )
- [Commits](5d2b5a58e0...81dd0e49cd )
Updates `serde_json` from 1.0.145 to 1.0.146
- [Release notes](https://github.com/serde-rs/json/releases )
- [Commits](https://github.com/serde-rs/json/compare/v1.0.145...v1.0.146 )
Updates `async-lock` from 3.4.1 to 3.4.2
- [Release notes](https://github.com/smol-rs/async-lock/releases )
- [Changelog](https://github.com/smol-rs/async-lock/blob/master/CHANGELOG.md )
- [Commits](https://github.com/smol-rs/async-lock/compare/v3.4.1...v3.4.2 )
Updates `bumpalo` from 3.19.0 to 3.19.1
- [Changelog](https://github.com/fitzgen/bumpalo/blob/main/CHANGELOG.md )
- [Commits](https://github.com/fitzgen/bumpalo/compare/v3.19.0...v3.19.1 )
Updates `cc` from 1.2.49 to 1.2.50
- [Release notes](https://github.com/rust-lang/cc-rs/releases )
- [Changelog](https://github.com/rust-lang/cc-rs/blob/main/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/cc-rs/compare/cc-v1.2.49...cc-v1.2.50 )
Updates `itoa` from 1.0.15 to 1.0.16
- [Release notes](https://github.com/dtolnay/itoa/releases )
- [Commits](https://github.com/dtolnay/itoa/compare/1.0.15...1.0.16 )
Updates `libredox` from 0.1.10 to 0.1.11
Updates `portable-atomic` from 1.11.1 to 1.12.0
- [Release notes](https://github.com/taiki-e/portable-atomic/releases )
- [Changelog](https://github.com/taiki-e/portable-atomic/blob/main/CHANGELOG.md )
- [Commits](https://github.com/taiki-e/portable-atomic/compare/v1.11.1...v1.12.0 )
Updates `ryu` from 1.0.20 to 1.0.21
- [Release notes](https://github.com/dtolnay/ryu/releases )
- [Commits](https://github.com/dtolnay/ryu/compare/1.0.20...1.0.21 )
Updates `toml_datetime` from 0.7.3 to 0.7.5+spec-1.1.0
- [Commits](https://github.com/toml-rs/toml/compare/toml_datetime-v0.7.3...toml_datetime-v0.7.5 )
Updates `toml_edit` from 0.23.9 to 0.23.10+spec-1.0.0
- [Commits](https://github.com/toml-rs/toml/compare/v0.23.9...v0.23.10 )
Updates `toml_parser` from 1.0.4 to 1.0.6+spec-1.1.0
- [Commits](https://github.com/toml-rs/toml/compare/toml_parser-v1.0.4...toml_parser-v1.0.6 )
Updates `tracing` from 0.1.43 to 0.1.44
- [Release notes](https://github.com/tokio-rs/tracing/releases )
- [Commits](https://github.com/tokio-rs/tracing/compare/tracing-0.1.43...tracing-0.1.44 )
Updates `tracing-core` from 0.1.35 to 0.1.36
- [Release notes](https://github.com/tokio-rs/tracing/releases )
- [Commits](https://github.com/tokio-rs/tracing/compare/tracing-core-0.1.35...tracing-core-0.1.36 )
Updates `serde_json` from 1.0.145 to 1.0.146
- [Release notes](https://github.com/serde-rs/json/releases )
- [Commits](https://github.com/serde-rs/json/compare/v1.0.145...v1.0.146 )
Updates `bumpalo` from 3.19.0 to 3.19.1
- [Changelog](https://github.com/fitzgen/bumpalo/blob/main/CHANGELOG.md )
- [Commits](https://github.com/fitzgen/bumpalo/compare/v3.19.0...v3.19.1 )
Updates `cc` from 1.2.49 to 1.2.50
- [Release notes](https://github.com/rust-lang/cc-rs/releases )
- [Changelog](https://github.com/rust-lang/cc-rs/blob/main/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/cc-rs/compare/cc-v1.2.49...cc-v1.2.50 )
Updates `itoa` from 1.0.15 to 1.0.16
- [Release notes](https://github.com/dtolnay/itoa/releases )
- [Commits](https://github.com/dtolnay/itoa/compare/1.0.15...1.0.16 )
Updates `ryu` from 1.0.20 to 1.0.21
- [Release notes](https://github.com/dtolnay/ryu/releases )
- [Commits](https://github.com/dtolnay/ryu/compare/1.0.20...1.0.21 )
Updates `toml_datetime` from 0.7.3 to 0.7.5+spec-1.1.0
- [Commits](https://github.com/toml-rs/toml/compare/toml_datetime-v0.7.3...toml_datetime-v0.7.5 )
Updates `toml_edit` from 0.23.9 to 0.23.10+spec-1.0.0
- [Commits](https://github.com/toml-rs/toml/compare/v0.23.9...v0.23.10 )
Updates `toml_parser` from 1.0.4 to 1.0.6+spec-1.1.0
- [Commits](https://github.com/toml-rs/toml/compare/toml_parser-v1.0.4...toml_parser-v1.0.6 )
---
updated-dependencies:
- dependency-name: igvm
dependency-version: 81dd0e49cd3caf9e894e376969e33f2584e6f8ba
dependency-type: direct:production
dependency-group: non-rust-vmm
- dependency-name: igvm_defs
dependency-version: 81dd0e49cd3caf9e894e376969e33f2584e6f8ba
dependency-type: direct:production
dependency-group: non-rust-vmm
- dependency-name: serde_json
dependency-version: 1.0.146
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: async-lock
dependency-version: 3.4.2
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: bumpalo
dependency-version: 3.19.1
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: cc
dependency-version: 1.2.50
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: itoa
dependency-version: 1.0.16
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: libredox
dependency-version: 0.1.11
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: portable-atomic
dependency-version: 1.12.0
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: ryu
dependency-version: 1.0.21
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: toml_datetime
dependency-version: 0.7.5+spec-1.1.0
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: toml_edit
dependency-version: 0.23.10+spec-1.0.0
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: toml_parser
dependency-version: 1.0.6+spec-1.1.0
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: tracing
dependency-version: 0.1.44
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: tracing-core
dependency-version: 0.1.36
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: serde_json
dependency-version: 1.0.146
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: bumpalo
dependency-version: 3.19.1
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: cc
dependency-version: 1.2.50
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: itoa
dependency-version: 1.0.16
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: ryu
dependency-version: 1.0.21
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: toml_datetime
dependency-version: 0.7.5+spec-1.1.0
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: toml_edit
dependency-version: 0.23.10+spec-1.0.0
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: toml_parser
dependency-version: 1.0.6+spec-1.1.0
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-12-23 09:16:45 +00:00
Demi Marie Obenour
2278a5236a
misc: Fix mis-sorting of command line options
...
This un-breaks the test suite with the dbus_api feature enabled.
Signed-off-by: Demi Marie Obenour <demiobenour@gmail.com >
2025-12-20 07:11:11 +00:00
Bo Chen
9a24680abd
build: Release v50.0
...
Signed-off-by: Bo Chen <bchen@crusoe.ai >
2025-12-19 00:08:01 +00:00
Thomas Prescher
736813f90c
tests: add live disk resize test
...
This test verifies that we can grow and shrink
disk images during runtime.
On-behalf-of: SAP thomas.prescher@sap.com
Signed-off-by: Thomas Prescher <thomas.prescher@cyberus-technology.de >
2025-12-17 13:54:52 +00:00
Thomas Prescher
b15459106c
docs: update vm.resize-disk
...
On-behalf-of: SAP thomas.prescher@sap.com
Signed-off-by: Thomas Prescher <thomas.prescher@cyberus-technology.de >
2025-12-17 13:54:52 +00:00
Thomas Prescher
5fb078305a
ch-remote: support live disk resizing
...
Support disk resizing via ch-remote and REST api.
On-behalf-of: SAP thomas.prescher@sap.com
Signed-off-by: Thomas Prescher <thomas.prescher@cyberus-technology.de >
2025-12-17 13:54:52 +00:00
Thomas Prescher
aac240d076
block: raw_async: implement disk resizing
...
Support for resize events for raw_async disks.
On-behalf-of: SAP thomas.prescher@sap.com
Signed-off-by: Thomas Prescher <thomas.prescher@cyberus-technology.de >
2025-12-17 13:54:52 +00:00
Thomas Prescher
37d71fa038
vmm: disk resize infrastructure
...
Add basic infrastructure so resize events are
propagated to the underlying disk implementation.
On-behalf-of: SAP thomas.prescher@sap.com
Signed-off-by: Thomas Prescher <thomas.prescher@cyberus-technology.de >
2025-12-17 13:54:52 +00:00
Thomas Prescher
8e52bf251b
block: virtio-devices: make disk_nsectors a shared atomic
...
This change is a prerequisite for live disk resizing. Before this
commit, the epoll-handler threads just got a copy of the sector
size which we cannot update during runtime.
On-behalf-of: SAP thomas.prescher@sap.com
Signed-off-by: Thomas Prescher <thomas.prescher@cyberus-technology.de >
2025-12-17 13:54:52 +00:00
Anatol Belski
d75bd1675c
performance-metrics: Add QCOW2 backing file performance test
...
Add sequential and random read performance tests for QCOW2 overlays
with QCOW2 backing files.
Signed-off-by: Anatol Belski <anbelski@linux.microsoft.com >
2025-12-16 21:49:54 +00:00
Anatol Belski
d696cea024
performance-metrics: Refactor fio_control to BlockControl
...
Introduce a new BlockControl struct to encapsulate fio operation
parameters. This replaces the tuple-based fio_control with a more
extensible structure that includes:
- fio_ops: The FIO operation type
- bandwidth: Whether to measure bandwidth or IOPS
- test_file: The file path to test against
This refactoring enables reusing performance_block_io with different
test files.
Signed-off-by: Anatol Belski <anbelski@linux.microsoft.com >
2025-12-16 21:49:54 +00:00
Philipp Schuster
7288031c0e
misc: slightly improve feature list readability
...
Signed-off-by: Philipp Schuster <philipp.schuster@cyberus-technology.de >
On-behalf-of: SAP philipp.schuster@sap.com
2025-12-14 17:05:49 +00:00
Philipp Schuster
82e8002fa0
misc: clippy: remove some overrides
...
Closes #4986 [0].
[0]: https://github.com/cloud-hypervisor/cloud-hypervisor/issues/4986
Signed-off-by: Philipp Schuster <philipp.schuster@cyberus-technology.de >
On-behalf-of: SAP philipp.schuster@sap.com
2025-12-14 17:05:49 +00:00
Pascal Scholz
a8d1411307
vmm: Write directly to member when creating new devices
...
Virtio PCI devices are created in a set of nested functions. In each
of this functions a vector is created to add created devices to, only
to be appended to the vector of the higher nesting level. Those nested
vectors are unnecessary as we can directly write to the member of
`DeviceManager`.
Signed-off-by: Pascal Scholz <pascal.scholz@cyberus-technology.de >
On-behalf-of: SAP pascal.scholz@sap.com
2025-12-14 17:04:23 +00:00
Philipp Schuster
9569809d4c
block: fix bug with wrong lock granularity for image container formats
...
The lock must always correspond to the physical size of the file,
everything else doesn't make sense.
Signed-off-by: Philipp Schuster <philipp.schuster@cyberus-technology.de >
On-behalf-of: SAP philipp.schuster@sap.com
2025-12-14 17:02:36 +00:00
Philipp Schuster
603b5e862c
block: add DiskFile::physical_size()
...
This is a pre-requisite for the bug fix in the following commit.
Signed-off-by: Philipp Schuster <philipp.schuster@cyberus-technology.de >
On-behalf-of: SAP philipp.schuster@sap.com
2025-12-14 17:02:36 +00:00
Philipp Schuster
53092359b4
block: rename DiskFile::size() -> DiskFile::logical_size()
...
This better reflects the actual usage.
Signed-off-by: Philipp Schuster <philipp.schuster@cyberus-technology.de >
On-behalf-of: SAP philipp.schuster@sap.com
2025-12-14 17:02:36 +00:00
dependabot[bot]
0ddb032cab
build: Bump actions/upload-artifact from 5 to 6
...
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact ) from 5 to 6.
- [Release notes](https://github.com/actions/upload-artifact/releases )
- [Commits](https://github.com/actions/upload-artifact/compare/v5...v6 )
---
updated-dependencies:
- dependency-name: actions/upload-artifact
dependency-version: '6'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-12-13 00:22:02 +00:00
Oliver Anderson
bcc6ac68e9
seccomp: Add KVM_GET_XSAVE2 for amx state
...
Signed-off-by: Oliver Anderson <oliver.anderson@cyberus-technology.de >
Signed-off-by: Songqian Li <sionli@tencent.com >
2025-12-11 17:14:13 +00:00
Songqian Li
4b4954ff86
hypervisor: AMX state snapshot and restore support
...
The TILE data state of AMX may require 8KB+ space, calling the legacy
KVM_GET_XSAVE will encounter an error since KVM_GET_XSAVE only can get
4KB space. This patch adds KVM_GET_XSAVE2 support to allow snapping more
data.
Fixes : #7533
Signed-off-by: Songqian Li <sionli@tencent.com >
2025-12-11 17:14:13 +00:00
Anatol Belski
5c5f33050c
block: qcow: Refactor pointer table writes to use iterators
...
Refactor write_pointer_table to accept iterators instead of requiring
materialized vectors, eliminating temporary allocations in L1 table
sync operations.
Changes:
- Modified write_pointer_table() to take Iterator<Item = &T> and
dereference internally before passing owned values to the callback
- Added write_pointer_table_direct() convenience wrapper for cases
without value transformation
- Updated sync_caches() to use l1_table.iter() directly instead of
.get_values().iter().copied()
- Implemented Deref<Target = [T]> for VecCache to enable direct .iter()
Performance impact:
- Eliminates L1 table allocation during sync (~2KB per 100GB disk)
- L2 and refcount table writes already used slices, no change there
- Zero performance overhead: iterator dereferencing is equivalent to
.copied() and optimizes identically
The L1 sync previously collected entries into a Vec to apply the
OFLAG_COPIED flag. The new iterator+callback pattern computes this
on-the-fly, avoiding the allocation entirely.
Signed-off-by: Anatol Belski <anbelski@linux.microsoft.com >
2025-12-10 23:35:46 +00:00
Anatol Belski
be5b14ef3a
block: qcow: Implement Deref for VecCache
...
Add Deref<Target = [T]> implementation for VecCache<T> to allow direct
slice operations without explicitly calling get_values(). This enables
cleaner code patterns like cache.iter() instead
of cache.get_values().iter().
Signed-off-by: Anatol Belski <anbelski@linux.microsoft.com >
2025-12-10 23:35:46 +00:00
Anatol Belski
9dc923f379
seccomp: Allow fcntl in virtio-block thread
...
Add fcntl to virtio_block_thread_rules to allow try_clone() on file
descriptors. The try_clone() method uses fcntl(fd, F_DUPFD_CLOEXEC)
to duplicate file descriptors, which is needed for efficient QCOW2
L1 table sync that avoids temporary allocations.
Signed-off-by: Anatol Belski <anbelski@linux.microsoft.com >
2025-12-10 23:35:46 +00:00
Sebastien Boeuf
f57b9b2359
tests: Re-enable test_vdpa_net
...
Creating a vdpa_net with an associated MAC address and setting the right
amount of queues in order to fix the integration test related to
vdpa_net.
Fixes : #5756
Signed-off-by: Sebastien Boeuf <seb@rivosinc.com >
2025-12-10 11:43:45 +00:00
Philipp Schuster
6bda6541be
vmm: cleanup &Mutex parameters
...
In [0] we refactored some Arc<Mutex<T>> parameters to &Mutex<T>> to
satisfy clippy's needless_pass_by_value lint. Nevertheless, this is also
not so idiomatic, so as a follow-up, we put the responsibility to lock
objects to the caller side (only where this is not strictly needed by
the callee).
While on it, I also tried to pass vm_config directly into
pre_create_console_devices() which would clean up some code, but then
we have interleaving mutable and immutable borrows of the Vmm, which
are denied by the borrow checker.
Signed-off-by: Philipp Schuster <philipp.schuster@cyberus-technology.de >
On-behalf-of: SAP philipp.schuster@sap.com
2025-12-10 11:06:29 +00:00
Stefan Nürnberger
4592f37bcf
tests: integration: expect some ksm merged pages
...
Our CI test execution system finds some mergeable pages in the system
directly on boot since a recent update. Remove the broken assumption in
the test_memory_mergeable integration test and only check if the guest
VMs influence the shared pages count.
Signed-off-by: Stefan Nürnberger <stefan.nuernberger@cyberus-technology.de >
2025-12-09 23:29:07 +00:00
Connor Brewster
41a8dcd9ba
block: allow VIRTIO_BLK_T_GET_ID for read-only devices
...
https://github.com/cloud-hypervisor/cloud-hypervisor/pull/7294 adjusted
the checks for read-only requests made to virtio-blk devices and started
rejecting VIRTIO_BLK_T_GET_ID requests. These requests do not perform
any writes and are needed in order to access device serials from within
the guest.
Signed-off-by: Connor Brewster <cbrewster@hey.com >
2025-12-09 16:22:46 +00:00
Oliver Anderson
8de24b5f08
vmm: Fix clippy lints
...
This PR fixes some clippy lints in the vmm crate.
Signed-off-by: Oliver Anderson <oliver.anderson@cyberus-technology.de >
On-behalf-of: SAP oliver.anderson@sap.com
2025-12-09 16:14:44 +00:00
Philipp Schuster
0be7d1bd82
ci: replace cargo rustc -> cargo build to support virtual manifests
...
`cargo rustc` is incompatible with virtual manifests, so the CI needs to
use cargo build instead. However, passing `RUSTFLAGS="-D warnings"` via
the environment would propagate to all dependencies, and some of them
currently fail to build under ``-D warnings` due to issues like [0]:
```
error: creating a mutable reference to mutable static
--> src/temp.rs:97:5
|
97 | DIRS.pop()
| ^^^^^^^^^^ mutable reference to mutable static
```
To resolve this, apply ``-D warnings` only to the `cargo clippy`
commands (which apply to our workspace only) and avoid enforcing it for
the entire cargo build.
[0]: https://github.com/cloud-hypervisor/cloud-hypervisor/actions/runs/19962283528/job/57245376263?pr=7525
Signed-off-by: Philipp Schuster <philipp.schuster@cyberus-technology.de >
On-behalf-of: SAP philipp.schuster@sap.com
2025-12-09 16:13:10 +00:00
Philipp Schuster
3191ff26e1
docs: adjust contributing.md: remove need for --all (--workspace)
...
It is no longer needed to add `--all` (which is an alias for
`--workspace`). The documentation says "Commands run in the workspace
root will run against all workspace members by default" [0].
We however still need `--tests` as this activates the building of
tests in `<crate>/tests` directories.
[0] https://doc.rust-lang.org/cargo/reference/workspaces.html#virtual-workspace
Signed-off-by: Philipp Schuster <philipp.schuster@cyberus-technology.de >
On-behalf-of: SAP philipp.schuster@sap.com
2025-12-09 16:13:10 +00:00
Philipp Schuster
9979e562b2
docs: adjust contributing.md: fix missing --all
...
Unrelated but necessary to also always format code for all
architectures and all features.
Signed-off-by: Philipp Schuster <philipp.schuster@cyberus-technology.de >
On-behalf-of: SAP philipp.schuster@sap.com
2025-12-09 16:13:10 +00:00
Philipp Schuster
70146ee7af
test_infra: Adapt to workspace + make code more robust
...
Signed-off-by: Philipp Schuster <philipp.schuster@cyberus-technology.de >
On-behalf-of: SAP philipp.schuster@sap.com
2025-12-09 16:13:10 +00:00
Philipp Schuster
3d049765bd
build: decouple Cargo.toml: split crate and workspace definitions
...
TL;DR: cargo clippy|check|... now runs on whole workspace by default.
## Steps
- add new workspace member `cloud-hypervisor`
- move `./src` to new workspace member
- move `./tests` to new workspace member
- move relevant parts from Cargo.toml to new workspace member
- kept necessary parts in main Cargo.toml, such as profile
configurations
## About
The main Cargo.toml historically mixes workspace and crate definitions
for cloud-hypervisor and ch-remote. This makes it hard to read and
requires `--workspace` to run cargo clippy or cargo test on all
workspace members, which is counter-intuitive.
This patch separates the workspace from the crate definition in the main
Cargo.toml file. After this, cargo clippy, cargo test, etc., work on the
whole workspace naturally, giving a smoother developer experience. The
Cargo.toml without a package definition is also called a virtual
workspace or virtual manifest by Cargo [0].
Backporting is not a concern: CHV no longer backports, but the affected
files are rarely modified anyway.
[0] https://doc.rust-lang.org/cargo/reference/workspaces.html#virtual-workspace
Signed-off-by: Philipp Schuster <philipp.schuster@cyberus-technology.de >
On-behalf-of: SAP philipp.schuster@sap.com
2025-12-09 16:13:10 +00:00
Philipp Schuster
f104bcdb6b
build: remove useless build scripts (copy & paste artifact)
...
This will also prevent some useless rebuilds. Using `--verbose` we can
observe that the build.rs causes frequent useless rebuilds - having
less is a good thing. They come from the dependency of `build.rs` to
the local git repository.
Signed-off-by: Philipp Schuster <philipp.schuster@cyberus-technology.de >
On-behalf-of: SAP philipp.schuster@sap.com
2025-12-09 16:13:10 +00:00
Philipp Schuster
265d21b0c4
misc: improve test idempotence (unrelated improvement)
...
Signed-off-by: Philipp Schuster <philipp.schuster@cyberus-technology.de >
On-behalf-of: SAP philipp.schuster@sap.com
2025-12-09 16:13:10 +00:00
Anatol Belski
562af123d5
block: qcow: Add missing flush in write_refcount_block
...
The BufWriter must be flushed explicitly to handle errors
properly. Without explicit flush, errors during the implicit
drop flush are ignored.
This is the same issue fixed for write_pointer_table
in commit 85556951a .
Signed-off-by: Anatol Belski <anbelski@linux.microsoft.com >
2025-12-09 14:51:54 +00:00
dependabot[bot]
f0dfa2a5ef
build: Bump the non-rust-vmm group across 2 directories with 16 updates
...
Bumps the non-rust-vmm group with 12 updates in the / directory:
| Package | From | To |
| --- | --- | --- |
| [serde_with](https://github.com/jonasbb/serde_with ) | `3.16.0` | `3.16.1` |
| [flume](https://github.com/zesterer/flume ) | `0.11.1` | `0.12.0` |
| [libc](https://github.com/rust-lang/libc ) | `0.2.177` | `0.2.178` |
| [log](https://github.com/rust-lang/log ) | `0.4.28` | `0.4.29` |
| [uuid](https://github.com/uuid-rs/uuid ) | `1.18.1` | `1.19.0` |
| [zerocopy](https://github.com/google/zerocopy ) | `0.8.30` | `0.8.31` |
| [cc](https://github.com/rust-lang/cc-rs ) | `1.2.47` | `1.2.49` |
| [endi](https://github.com/zeenix/endi ) | `1.1.0` | `1.1.1` |
| [simd-adler32](https://github.com/mcountryman/simd-adler32 ) | `0.3.7` | `0.3.8` |
| [toml_edit](https://github.com/toml-rs/toml ) | `0.23.7` | `0.23.9` |
| [tracing](https://github.com/tokio-rs/tracing ) | `0.1.41` | `0.1.43` |
| [winnow](https://github.com/winnow-rs/winnow ) | `0.7.13` | `0.7.14` |
Bumps the non-rust-vmm group with 10 updates in the /fuzz directory:
| Package | From | To |
| --- | --- | --- |
| [serde_with](https://github.com/jonasbb/serde_with ) | `3.16.0` | `3.16.1` |
| [flume](https://github.com/zesterer/flume ) | `0.11.1` | `0.12.0` |
| [libc](https://github.com/rust-lang/libc ) | `0.2.177` | `0.2.178` |
| [log](https://github.com/rust-lang/log ) | `0.4.28` | `0.4.29` |
| [uuid](https://github.com/uuid-rs/uuid ) | `1.18.1` | `1.19.0` |
| [zerocopy](https://github.com/google/zerocopy ) | `0.8.30` | `0.8.31` |
| [cc](https://github.com/rust-lang/cc-rs ) | `1.2.47` | `1.2.49` |
| [simd-adler32](https://github.com/mcountryman/simd-adler32 ) | `0.3.7` | `0.3.8` |
| [toml_edit](https://github.com/toml-rs/toml ) | `0.23.7` | `0.23.9` |
| [winnow](https://github.com/winnow-rs/winnow ) | `0.7.13` | `0.7.14` |
Updates `serde_with` from 3.16.0 to 3.16.1
- [Release notes](https://github.com/jonasbb/serde_with/releases )
- [Commits](https://github.com/jonasbb/serde_with/compare/v3.16.0...v3.16.1 )
Updates `flume` from 0.11.1 to 0.12.0
- [Changelog](https://github.com/zesterer/flume/blob/master/CHANGELOG.md )
- [Commits](https://github.com/zesterer/flume/commits )
Updates `libc` from 0.2.177 to 0.2.178
- [Release notes](https://github.com/rust-lang/libc/releases )
- [Changelog](https://github.com/rust-lang/libc/blob/0.2.178/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/libc/compare/0.2.177...0.2.178 )
Updates `log` from 0.4.28 to 0.4.29
- [Release notes](https://github.com/rust-lang/log/releases )
- [Changelog](https://github.com/rust-lang/log/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/log/compare/0.4.28...0.4.29 )
Updates `uuid` from 1.18.1 to 1.19.0
- [Release notes](https://github.com/uuid-rs/uuid/releases )
- [Commits](https://github.com/uuid-rs/uuid/compare/v1.18.1...v1.19.0 )
Updates `zerocopy` from 0.8.30 to 0.8.31
- [Release notes](https://github.com/google/zerocopy/releases )
- [Changelog](https://github.com/google/zerocopy/blob/main/CHANGELOG.md )
- [Commits](https://github.com/google/zerocopy/compare/v0.8.30...v0.8.31 )
Updates `cc` from 1.2.47 to 1.2.49
- [Release notes](https://github.com/rust-lang/cc-rs/releases )
- [Changelog](https://github.com/rust-lang/cc-rs/blob/main/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/cc-rs/compare/cc-v1.2.47...cc-v1.2.49 )
Updates `endi` from 1.1.0 to 1.1.1
- [Release notes](https://github.com/zeenix/endi/releases )
- [Commits](https://github.com/zeenix/endi/compare/1.1.0...1.1.1 )
Updates `serde_with_macros` from 3.16.0 to 3.16.1
- [Release notes](https://github.com/jonasbb/serde_with/releases )
- [Commits](https://github.com/jonasbb/serde_with/compare/v3.16.0...v3.16.1 )
Updates `simd-adler32` from 0.3.7 to 0.3.8
- [Changelog](https://github.com/mcountryman/simd-adler32/blob/main/CHANGELOG.md )
- [Commits](https://github.com/mcountryman/simd-adler32/commits )
Updates `toml_edit` from 0.23.7 to 0.23.9
- [Commits](https://github.com/toml-rs/toml/compare/v0.23.7...v0.23.9 )
Updates `tracing` from 0.1.41 to 0.1.43
- [Release notes](https://github.com/tokio-rs/tracing/releases )
- [Commits](https://github.com/tokio-rs/tracing/compare/tracing-0.1.41...tracing-0.1.43 )
Updates `tracing-attributes` from 0.1.30 to 0.1.31
- [Release notes](https://github.com/tokio-rs/tracing/releases )
- [Commits](https://github.com/tokio-rs/tracing/compare/tracing-attributes-0.1.30...tracing-attributes-0.1.31 )
Updates `tracing-core` from 0.1.34 to 0.1.35
- [Release notes](https://github.com/tokio-rs/tracing/releases )
- [Commits](https://github.com/tokio-rs/tracing/compare/tracing-core-0.1.34...tracing-core-0.1.35 )
Updates `winnow` from 0.7.13 to 0.7.14
- [Changelog](https://github.com/winnow-rs/winnow/blob/main/CHANGELOG.md )
- [Commits](https://github.com/winnow-rs/winnow/compare/v0.7.13...v0.7.14 )
Updates `zerocopy-derive` from 0.8.30 to 0.8.31
- [Release notes](https://github.com/google/zerocopy/releases )
- [Changelog](https://github.com/google/zerocopy/blob/main/CHANGELOG.md )
- [Commits](https://github.com/google/zerocopy/compare/v0.8.30...v0.8.31 )
Updates `serde_with` from 3.16.0 to 3.16.1
- [Release notes](https://github.com/jonasbb/serde_with/releases )
- [Commits](https://github.com/jonasbb/serde_with/compare/v3.16.0...v3.16.1 )
Updates `flume` from 0.11.1 to 0.12.0
- [Changelog](https://github.com/zesterer/flume/blob/master/CHANGELOG.md )
- [Commits](https://github.com/zesterer/flume/commits )
Updates `libc` from 0.2.177 to 0.2.178
- [Release notes](https://github.com/rust-lang/libc/releases )
- [Changelog](https://github.com/rust-lang/libc/blob/0.2.178/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/libc/compare/0.2.177...0.2.178 )
Updates `log` from 0.4.28 to 0.4.29
- [Release notes](https://github.com/rust-lang/log/releases )
- [Changelog](https://github.com/rust-lang/log/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/log/compare/0.4.28...0.4.29 )
Updates `uuid` from 1.18.1 to 1.19.0
- [Release notes](https://github.com/uuid-rs/uuid/releases )
- [Commits](https://github.com/uuid-rs/uuid/compare/v1.18.1...v1.19.0 )
Updates `zerocopy` from 0.8.30 to 0.8.31
- [Release notes](https://github.com/google/zerocopy/releases )
- [Changelog](https://github.com/google/zerocopy/blob/main/CHANGELOG.md )
- [Commits](https://github.com/google/zerocopy/compare/v0.8.30...v0.8.31 )
Updates `cc` from 1.2.47 to 1.2.49
- [Release notes](https://github.com/rust-lang/cc-rs/releases )
- [Changelog](https://github.com/rust-lang/cc-rs/blob/main/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/cc-rs/compare/cc-v1.2.47...cc-v1.2.49 )
Updates `serde_with_macros` from 3.16.0 to 3.16.1
- [Release notes](https://github.com/jonasbb/serde_with/releases )
- [Commits](https://github.com/jonasbb/serde_with/compare/v3.16.0...v3.16.1 )
Updates `simd-adler32` from 0.3.7 to 0.3.8
- [Changelog](https://github.com/mcountryman/simd-adler32/blob/main/CHANGELOG.md )
- [Commits](https://github.com/mcountryman/simd-adler32/commits )
Updates `toml_edit` from 0.23.7 to 0.23.9
- [Commits](https://github.com/toml-rs/toml/compare/v0.23.7...v0.23.9 )
Updates `winnow` from 0.7.13 to 0.7.14
- [Changelog](https://github.com/winnow-rs/winnow/blob/main/CHANGELOG.md )
- [Commits](https://github.com/winnow-rs/winnow/compare/v0.7.13...v0.7.14 )
Updates `zerocopy-derive` from 0.8.30 to 0.8.31
- [Release notes](https://github.com/google/zerocopy/releases )
- [Changelog](https://github.com/google/zerocopy/blob/main/CHANGELOG.md )
- [Commits](https://github.com/google/zerocopy/compare/v0.8.30...v0.8.31 )
---
updated-dependencies:
- dependency-name: serde_with
dependency-version: 3.16.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: flume
dependency-version: 0.12.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: libc
dependency-version: 0.2.178
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: log
dependency-version: 0.4.29
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: uuid
dependency-version: 1.19.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: zerocopy
dependency-version: 0.8.31
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: cc
dependency-version: 1.2.49
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: endi
dependency-version: 1.1.1
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: serde_with_macros
dependency-version: 3.16.1
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: simd-adler32
dependency-version: 0.3.8
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: toml_edit
dependency-version: 0.23.9
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: tracing
dependency-version: 0.1.43
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: tracing-attributes
dependency-version: 0.1.31
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: tracing-core
dependency-version: 0.1.35
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: winnow
dependency-version: 0.7.14
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: zerocopy-derive
dependency-version: 0.8.31
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: serde_with
dependency-version: 3.16.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: flume
dependency-version: 0.12.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: libc
dependency-version: 0.2.178
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: log
dependency-version: 0.4.29
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: uuid
dependency-version: 1.19.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: zerocopy
dependency-version: 0.8.31
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: cc
dependency-version: 1.2.49
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: serde_with_macros
dependency-version: 3.16.1
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: simd-adler32
dependency-version: 0.3.8
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: toml_edit
dependency-version: 0.23.9
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: winnow
dependency-version: 0.7.14
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: zerocopy-derive
dependency-version: 0.8.31
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-12-09 00:29:41 +00:00
Muminul Islam
7c8372452b
tests: disable live-upgrade tests for MSHV
...
These tests are expected to fail.
See: #7542
Signed-off-by: Muminul Islam <muislam@microsoft.com >
2025-12-07 01:29:56 +00:00
Muminul Islam
f795081bf9
hypervisor: mshv: retrieve MSRs list correctly
...
The MSR enumeration logic in MSHV does not accurately
account for the capabilities of the underlying
hardware and hypervisor. Previously, integration tests
passed because only the default MSRs—universally supported
across platforms—were involved. However, recent feature
additions in MSHV have introduced MSRs that are not
supported on Intel hardware, causing failures.
This patch retrieves the MSRs from the VM specific
API call that filters out the unsupported MSRs.
Signed-off-by: Muminul Islam <muislam@microsoft.com >
2025-12-07 01:29:56 +00:00
Anatol Belski
c940f6642f
block: qcow: Refactor refcount update into helper method
...
Add set_cluster_refcount_track_freed() helper to consolidate the
common pattern of setting a cluster refcount and tracking freed
refblocks. This reduces code duplication and improves readability.
Signed-off-by: Anatol Belski <anbelski@linux.microsoft.com >
2025-12-06 17:10:48 +00:00
Anatol Belski
f56adb8a5a
tests: Fix path handling for qemu-img check
...
The image passed for the guest construction is copied. Previously,
check-img has been checking the unchanged image from the workspace dir,
which is supposed to be error free.
Signed-off-by: Anatol Belski <anbelski@linux.microsoft.com >
2025-12-05 15:38:55 +00:00
Anatol Belski
e6dd429a64
tests: qcow: Add testing for uncompressed backing file
...
Signed-off-by: Anatol Belski <anbelski@linux.microsoft.com >
2025-12-05 15:38:55 +00:00
Anatol Belski
248e786363
tests: qcow: Adjust namings for zstd compresed backing file
...
Signed-off-by: Anatol Belski <anbelski@linux.microsoft.com >
2025-12-05 15:38:55 +00:00
Anatol Belski
f1ffd795e0
block: qcow: tests: Update combo_write_read for cluster leak fixes
...
Freed clusters correctly have refcount=0. Remove the assertion that
expected no clusters with zero refcount, as it was validating the
buggy behavior.
Signed-off-by: Anatol Belski <anbelski@linux.microsoft.com >
2025-12-05 15:38:55 +00:00
Anatol Belski
efad6578d1
block: qcow: Fix refcount leak when converting compressed clusters
...
When converting a compressed cluster to standard during write
operations, the old compressed cluster's refcount was never
decremented, causing leak warnings by `qemu-img check ..`
`Leaked cluster X refcount=N reference=M`
Additionally, compressed data can span multiple physical clusters,
not just one. The compressed cluster address and size are encoded
in the L2 entry, and the data may cross cluster boundaries.
The proper handling is implemented as follows:
- Extract compressed cluster address and size before overwriting
L2 entry
- Identify all clusters occupied by the compressed data
- Decrement refcount for each cluster in the range
Signed-off-by: Anatol Belski <anbelski@linux.microsoft.com >
2025-12-05 15:38:55 +00:00
Anatol Belski
9e2e85a48f
block: qcow: Fix refcount leak when refcount blocks are replaced
...
When a refcount block is evicted from cache and replaced with a new
one, the old refcount block cluster was added to unref_clusters but
its refcount was never decremented to 0 on disk. This left the cluster
with refcount=1 while no metadata referenced it, causing errors in
qemu-img check
`Leaked cluster X refcount=1 reference=0`
This fix recursively calls set_cluster_refcount(freed_cluster, 0) to
properly decrement the freed refcount block's refcount on disk. The
recursion handles cascading replacements where freeing one refcount
block may trigger the replacement of another.
Signed-off-by: Anatol Belski <anbelski@linux.microsoft.com >
2025-12-05 15:38:55 +00:00
Philipp Schuster
f7edfefe42
ci: dco: rename misleading job title
...
"Signed-off-by" is the only variant that is accepted. So we
should remove the inconsistency to prevent:
- user forgets this at all
- CI complains
- user adds "Signed-Off-By"
- CI still complains because of the wrong format
Signed-off-by: Philipp Schuster <philipp.schuster@cyberus-technology.de >
On-behalf-of: SAP philipp.schuster@sap.com
2025-12-05 12:54:25 +00:00
Sebastien Boeuf
801059c2d5
scripts: Update custom image to Ubuntu Noble Numbat
...
Updating the helper script to create a VFIO custom image from Ubuntu
22.04 to Ubuntu 24.04.
Signed-off-by: Sebastien Boeuf <seb@rivosinc.com >
2025-12-04 15:25:13 +00:00
Oliver Anderson
5ec1e66e22
vmm: Refactor amx tile state component enabling logic
...
We enable AMX tile state components via the hypervisor (as introduced
in the previous commit) instead of doing this inline in the body of
`CpuManager::new`.
Signed-off-by: Oliver Anderson <oliver.anderson@cyberus-technology.de >
On-behalf-of: SAP oliver.anderson@sap.com
2025-12-04 14:04:11 +00:00
Oliver Anderson
01383538f3
hypervisor: Introduce an enable AMX tile state components method
...
Currently when the user configures AMX the corresponding state
components get dynamically enabled directly inside the function body of
vmm::cpu::CpuManager::new.
With our ongoing work on CPU templates/profiles, there will (likely) be
one more binary crate for producing CPU profiles that also needs to do
this (without creating a CpuManager) and it may also be the case that
we will need to call this function prior to `CpuManager::new` during
live migrations.
We thus add a method for enabling the AMX tile state components on the
hypervisor trait that may be called wherever necessary. We argue that
this is beneficial for code clarity independently of the upcoming CPU
templates/profiles PR that we are working on.
The astute reader will notice that the logic introduced here is not 100%
the same as what is done inside the vmm::cpu::Cpumanager::new method. We
claim that our approach is more in-line with the official documentation.
Signed-off-by: Oliver Anderson <oliver.anderson@cyberus-technology.de >
On-behalf-of: SAP oliver.anderson@sap.com
2025-12-04 14:04:11 +00:00
Muminul Islam
5fb50edb55
docs: update guide for nested CPU feature
...
This patch updates the documentation to reflect the newly added
nested CPU feature option in the CLI.
Signed-off-by: Muminul Islam <muislam@microsoft.com >
2025-12-03 09:56:58 +00:00
Muminul Islam
658a7f9175
arch: vmm: disable nested virtualization if needed
...
User can now disable nested virtualization for Intel and AMD
if configured by the CLI.
Signed-off-by: Muminul Islam <muislam@microsoft.com >
2025-12-03 09:56:58 +00:00
Muminul Islam
d8360ddc8e
hypervisor: vmm: passing nested argument from VMM to hypervisor
...
This patch connects the VMM and hypervisor to fully enable nested
support for MSHV.
Signed-off-by: Muminul Islam <muislam@microsoft.com >
2025-12-03 09:56:58 +00:00
Muminul Islam
f10d0bb33d
vmm: add nested option to CPU config
...
Add an option in the CLI to enable nested support.
Adding an option --cpu nested=on|off to the CPU
argument to enable nested support for Microsoft
Hypervisor. By default it is enabled for both KVM
and MSHV.
Signed-off-by: Muminul Islam <muislam@microsoft.com >
2025-12-03 09:56:58 +00:00
Muminul Islam
0d5c914bdd
build: use latest 0.6.5 mshv crates
...
Use mshv-{ioctls, bindings) with the latest versions
that have the nested MSHV support.
Signed-off-by: Muminul Islam <muislam@microsoft.com >
2025-12-03 09:56:58 +00:00
Muminul Islam
deaf660a52
vmm: simplify VM creation API
...
Create HypervisorVmConfig early and pass the
struct to VM creation API in the vmm crate. Getting
rid of multiple conditional parameter.
Signed-off-by: Muminul Islam <muislam@microsoft.com >
2025-12-03 09:56:58 +00:00
Anatol Belski
6897c2a462
block: qcow: Set OFLAG_COPIED bit in L1 entries for spec compliance
...
The OFLAG_COPIED bit (bit 63) indicates a cluster's refcount is exactly
1 and doesn't need copy-on-write. This bit must be set in L1 entries
when their referenced L2 clusters have refcount=1.
Previously, L1 entries were always written as raw addresses without the
OFLAG_COPIED bit, violating the QCOW2 specification and causing qemu-img
check to report errors like
`ERROR OFLAG_COPIED L2 cluster: l1_index=X .... refcount=1`
The implementation queries each L2 cluster's refcount in sync_caches()
and sets OFLAG_COPIED appropriately when writing the L1 table. This
ensures QCOW2 images are specification compliant and maintain correct
COW semantics to avoid data corruption.
Signed-off-by: Anatol Belski <anbelski@linux.microsoft.com >
2025-12-01 16:45:55 +00:00
Wei Liu
85556951a6
block: qcow2: Flush the buffer explicitly when writing pointer table
...
Previously the code relies on the implicit flush when BufWriter is
dropped. That's not safe.
Per BufWriter's document:
```
It is critical to call flush before BufWriter<W> is dropped. Though
dropping will attempt to flush the contents of the buffer, any errors
that happen in the process of dropping will be ignored. Calling flush
ensures that the buffer is empty and thus dropping will not even attempt
file operations.
```
Signed-off-by: Wei Liu <liuwe@microsoft.com >
2025-11-30 18:39:49 +00:00
Rob Bradford
4abebc9e56
hypervisor: Don't create temporary vector for boot MSRs
...
The MSRs are constant at boot time so rather than creating a vector in
the boot_msr_entries() method instead reaturn a reference to static MSR
array data.
Signed-off-by: Rob Bradford <rbradford@rivosinc.com >
2025-11-29 13:07:16 +00:00
Philipp Schuster
a91235dab1
vm-migration: better describe migration protocol
...
Reflect the latest migration protocol as mermaid diagrams in the
(code) documentation.
Signed-off-by: Philipp Schuster <philipp.schuster@cyberus-technology.de >
On-behalf-of: SAP philipp.schuster@sap.com
2025-11-28 08:41:47 +00:00
Julian Stecklina
dbb148b216
vmm: refactor live migration receive into state machine
...
Previously, state that we accumulated during the migration process in
the receiver was kept in `mut Option` variables or HashMaps. The
problem is that it is unclear in the code when these variables can be
safely used. It's also difficult to add new state, such as the state
we need to handle the upcoming feature for performing the migration
using multiple connections.
To solve this, I've refactored the code to use the state machine
pattern. Each state carries the data it needs to. Any state that
didn't arrive yet (memory_files, memory_manager) cannot be accessed
until we are in the proper state.
Some benefits that fall out of this:
- We now respond to all requests, even invalid ones, at least with an
error message.
- Any error handling a request will result in an error message being
sent.
- There is only a single place where responses are sent and thus it's
very hard to mess this up in the code.
- The main protocol state machine fits on a screen.
I would argue that especially the error cases are now much more
consistent. There is still a lot to be done. There is still state
transfer via self.vm and similar. In an ideal world, this would also
be carried by the state machine. I also want to see better handling of
payloads, which are still handled all over the place, but this change
is already too big. :)
Co-authored-by: Philipp Schuster <philipp.schuster@cyberus-technology.de >
On-behalf-of: SAP julian.stecklina@sap.com
On-behalf-of: SAP philipp.schuster@sap.com
Signed-off-by: Julian Stecklina <julian.stecklina@cyberus-technology.de >
Signed-off-by: Philipp Schuster <philipp.schuster@cyberus-technology.de >
2025-11-28 08:41:47 +00:00
Julian Stecklina
1861bc49e7
vmm: simplify receiving memory fds
...
... and nuke some Option<> while I was there. Given that HashMap has a
usable default and we end up passing an empty HashMap anyway, just get
rid of the Option.
On-behalf-of: SAP julian.stecklina@sap.com
Signed-off-by: Julian Stecklina <julian.stecklina@cyberus-technology.de >
2025-11-28 08:41:47 +00:00
Julian Stecklina
3d43245608
vmm: allow comparing commands and extracting response length
...
This will be useful later when we rebuild the live migration code as a
state machine.
On-behalf-of: SAP julian.stecklina@sap.com
Signed-off-by: Julian Stecklina <julian.stecklina@cyberus-technology.de >
2025-11-28 08:41:47 +00:00
Muminul Islam
b163fea66a
hypervisor: update cache when a shared page is revoked
...
During the lifecycle of a confidential VM, the guest may revoke
previously shared pages via an attribute-intercept VM exit.
When this happens, the host-side cache must be updated so that any
subsequent access by the VMM triggers a fresh request for the guest
to re-share the page.
Signed-off-by: Muminul Islam <muislam@microsoft.com >
2025-11-28 04:42:20 +00:00
Philipp Schuster
afcb2b285f
tpm: remove mixture of str and Path
...
`impl AsRef<Path>` is the most idiomatic way to consume paths
in Rust. I removed the mixture.
Signed-off-by: Philipp Schuster <philipp.schuster@cyberus-technology.de >
On-behalf-of: SAP philipp.schuster@sap.com
2025-11-27 17:11:14 +00:00
Philipp Schuster
c53781bf5f
misc: clippy: add needless_pass_by_value
...
This is a follow-up of [0].
# Advantages
- This saves dozens of unneeded clone()s across the whole code base
- Makes it much easier to reason about how parameters are used
(often we passed owned Arc/Rc versions without actually needing
ownership)
# Exceptions
For certain code paths, the alternatives would require awkward or overly
complex code, and in some cases the functions are the logical owners of
the values they take. In those cases, I've added
#[allow(clippy::needless_pass_by_value)].
This does not mean that one should not improve this in the future.
[0] 6a86c157af
Signed-off-by: Philipp Schuster <philipp.schuster@cyberus-technology.de >
On-behalf-of: SAP philipp.schuster@sap.com
2025-11-27 17:11:14 +00:00
Praveen K Paladugu
ed4af3a005
vmm: fix the initial flush while using PTY
...
Fix the condition to correctly identify a new PTY connection.
Fixes: 287887c99 (vmm: fix console IO safety)
Signed-off-by: Praveen K Paladugu <prapal@linux.microsoft.com >
2025-11-27 08:28:44 +00:00
Praveen K Paladugu
ac5fc69b2e
vmm: Fix fd leak in socket connection handling
...
Previously, `into_raw_fd()` transferred fd ownership to epoll while
keeping separate clones in `reader` and `writer`, causing leaks when
the stream was closed. Now, `reader` owns the fd and epoll borrows it.
When the FD is closed in the kernel, reader will be reset to None.
Signed-off-by: Praveen K Paladugu <prapal@linux.microsoft.com >
2025-11-27 08:28:44 +00:00
Oliver Anderson
0d884d3f50
arch: Mask (out) extended AMX features
...
The Intel Granite Rapids processors include more AMX related features
that are advertised in leaf 0x7 subleaf 0x1. If the VM is not
configured to support AMX (the default) then these feature bits need
to be masked out.
Furthermore Tile information and TMUL information
in leaves 0x1d and 0x1e respectively are also purely related to AMX
and should also be zeroed whenever AMX support is disabled.
Signed-off-by: Oliver Anderson <oliver.anderson@cyberus-technology.de >
On-behalf-of: SAP <oliver.anderson@sap.com >
2025-11-27 08:27:43 +00:00
dependabot[bot]
8e5dd296de
build: Bump crate-ci/typos from 1.39.2 to 1.40.0
...
Bumps [crate-ci/typos](https://github.com/crate-ci/typos ) from 1.39.2 to 1.40.0.
- [Release notes](https://github.com/crate-ci/typos/releases )
- [Changelog](https://github.com/crate-ci/typos/blob/master/CHANGELOG.md )
- [Commits](https://github.com/crate-ci/typos/compare/v1.39.2...v1.40.0 )
---
updated-dependencies:
- dependency-name: crate-ci/typos
dependency-version: 1.40.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-11-27 00:07:30 +00:00
Wei Liu
2f8edc182e
performance-metrics: Respect queue size in block tests
...
Signed-off-by: Wei Liu <liuwe@microsoft.com >
2025-11-26 17:43:12 +00:00
Songqian Li
41382879d3
seccomp: add arch_prctl syscall for amx
...
When enabling amx feature, we should call arch_prctl to request
permission to use tile data for guest. The permission should be
requested before the first vcpu is created, so we need to call
arch_prctl in vmm thread. This patch adds the arch_prctl syscall for
vmm_thread_rules.
Fixes : #7516
Signed-off-by: Songqian Li <sionli@tencent.com >
2025-11-26 13:53:02 +00:00
Chengyu Fu
e7cda177cc
hypervisor: kvm: Remove unnecessary .to_vec() in set_state
...
.. to avoid copy elements.
Signed-off-by: Chengyu Fu <chengyu.fu@linux.alibaba.com >
2025-11-26 09:13:10 +00:00
Rob Bradford
e3fb425615
event_monitor: Send events to info! level logging
...
The resulting output looks like:
Event: source = virtio-device event = activated id = _disk0
See: #7484
Signed-off-by: Rob Bradford <rbradford@rivosinc.com >
2025-11-25 22:06:40 +00:00
Philipp Schuster
6a86c157af
misc: clippy: add needless_pass_by_value (partially)
...
This helps to uncover expensive and needless clones in the code base.
For example, I prevented extensive clones in the snapshot path where
(nested) BTreeMap's have been cloned over and over again. Further,
the lint helps devs to much better reason about the ownership of
parameters.
All of these changes have been done manually with the necessary
caution. A few structs that are cheap to clone are now `copy` so that
this lint won't trigger for them.
I didn't enable the lint so far as it is a massive rabbit hole and
needs much more fixes. Nevertheless, it is very useful.
Signed-off-by: Philipp Schuster <philipp.schuster@cyberus-technology.de >
On-behalf-of: SAP philipp.schuster@sap.com
2025-11-25 16:05:46 +00:00
Philipp Schuster
0a07c96d17
misc: clippy: add if_not_else
...
This removes cognitive load when reading if statements.
All changes were applied by clippy via `--fix`.
Signed-off-by: Philipp Schuster <philipp.schuster@cyberus-technology.de >
On-behalf-of: SAP philipp.schuster@sap.com
2025-11-25 16:05:46 +00:00
Philipp Schuster
a0b72dce22
misc: clippy: add redundant_else
...
Signed-off-by: Philipp Schuster <philipp.schuster@cyberus-technology.de >
On-behalf-of: SAP philipp.schuster@sap.com
2025-11-25 16:05:46 +00:00
Philipp Schuster
d2b19bb969
misc: clippy: add map_unwrap_or
...
Signed-off-by: Philipp Schuster <philipp.schuster@cyberus-technology.de >
On-behalf-of: SAP philipp.schuster@sap.com
2025-11-25 16:05:46 +00:00
Wei Liu
dda89d7027
tests: Check disk consistency after use
...
We've encountered issues that Cloud Hypervisor corrupts disk images
after use. Those issues may not be immediately obvious until the
corrupted images are used again.
Run consistency checks over the disk images in the test cases to catch
issues as early as possible.
Signed-off-by: Wei Liu <liuwe@microsoft.com >
2025-11-25 15:59:39 +00:00
Wei Liu
a1a018bd83
tests: Do not return a failure when no tests are run
...
It is a common use case to run a subset of tests locally to verify
certain functionalities.
The default behaviour for nextest is to error out if no tests are run.
That causes the test scripts to return a non-zero value (failure). Pass
`--no-tests=pass` to nextest to match what `cargo test` does if no tests
are run.
Signed-off-by: Wei Liu <liuwe@microsoft.com >
2025-11-25 15:59:39 +00:00
Julian Stecklina
8c50450002
vmm: don't needlessly clone strings
...
On-behalf-of: SAP julian.stecklina@sap.com
Signed-off-by: Julian Stecklina <julian.stecklina@cyberus-technology.de >
2025-11-25 15:58:31 +00:00
Philipp Schuster
7443a9f69e
misc: fix typo and wording
...
Signed-off-by: Philipp Schuster <philipp.schuster@cyberus-technology.de >
On-behalf-of: SAP philipp.schuster@sap.com
2025-11-25 15:58:31 +00:00
Philipp Schuster
28b54df01d
vmm: cleanup: replace map_err misuse with inspect_err
...
This is continuing the work from [0]. Some places in CHV
"misuse" Result::map_err for side-effects. inspect_err is
a better suited alternative for exactly that use-case.
Unfortunately, there is no clippy lint for this yet.
[0] f02745a7ed
Signed-off-by: Philipp Schuster <philipp.schuster@cyberus-technology.de >
On-behalf-of: SAP philipp.schuster@sap.com
2025-11-25 15:58:31 +00:00
dependabot[bot]
4e93f85ab1
build: Bump the non-rust-vmm group across 2 directories with 38 updates
...
Bumps the non-rust-vmm group with 28 updates in the / directory:
| Package | From | To |
| --- | --- | --- |
| [zbus](https://github.com/z-galaxy/zbus ) | `5.11.0` | `5.12.0` |
| [serde_with](https://github.com/jonasbb/serde_with ) | `3.15.0` | `3.16.0` |
| [bitflags](https://github.com/bitflags/bitflags ) | `2.9.4` | `2.10.0` |
| [cfg-if](https://github.com/rust-lang/cfg-if ) | `1.0.3` | `1.0.4` |
| [clap](https://github.com/clap-rs/clap ) | `4.5.49` | `4.5.53` |
| [zerocopy](https://github.com/google/zerocopy ) | `0.8.27` | `0.8.30` |
| [io-uring](https://github.com/tokio-rs/io-uring ) | `0.7.10` | `0.7.11` |
| [num_enum](https://github.com/illicitonion/num_enum ) | `0.7.4` | `0.7.5` |
| [getrandom](https://github.com/rust-random/getrandom ) | `0.3.3` | `0.3.4` |
| [landlock](https://github.com/landlock-lsm/rust-landlock ) | `0.4.3` | `0.4.4` |
| [aho-corasick](https://github.com/BurntSushi/aho-corasick ) | `1.1.3` | `1.1.4` |
| [anstyle-query](https://github.com/rust-cli/anstyle ) | `1.1.4` | `1.1.5` |
| [anstyle-wincon](https://github.com/rust-cli/anstyle ) | `3.0.10` | `3.0.11` |
| [cc](https://github.com/rust-lang/cc-rs ) | `1.2.41` | `1.2.47` |
| [hashbrown](https://github.com/rust-lang/hashbrown ) | `0.16.0` | `0.16.1` |
| [indexmap](https://github.com/indexmap-rs/indexmap ) | `2.11.4` | `2.12.1` |
| [is_terminal_polyfill](https://github.com/polyfill-rs/is_terminal_polyfill ) | `1.70.1` | `1.70.2` |
| [jiff](https://github.com/BurntSushi/jiff ) | `0.2.15` | `0.2.16` |
| [libz-sys](https://github.com/rust-lang/libz-sys ) | `1.1.22` | `1.1.23` |
| [once_cell_polyfill](https://github.com/polyfill-rs/once_cell_polyfill ) | `1.70.1` | `1.70.2` |
| [openssl-src](https://github.com/alexcrichton/openssl-src-rs ) | `300.5.3+3.5.4` | `300.5.4+3.5.4` |
| [openssl-sys](https://github.com/rust-openssl/rust-openssl ) | `0.9.109` | `0.9.111` |
| [proc-macro2](https://github.com/dtolnay/proc-macro2 ) | `1.0.101` | `1.0.103` |
| [quote](https://github.com/dtolnay/quote ) | `1.0.41` | `1.0.42` |
| [signal-hook-registry](https://github.com/vorner/signal-hook ) | `1.4.6` | `1.4.7` |
| [syn](https://github.com/dtolnay/syn ) | `2.0.106` | `2.0.111` |
| [unicode-ident](https://github.com/dtolnay/unicode-ident ) | `1.0.19` | `1.0.22` |
| [zvariant](https://github.com/dbus2/zbus ) | `5.7.0` | `5.8.0` |
Bumps the non-rust-vmm group with 20 updates in the /fuzz directory:
| Package | From | To |
| --- | --- | --- |
| [serde_with](https://github.com/jonasbb/serde_with ) | `3.15.0` | `3.16.0` |
| [bitflags](https://github.com/bitflags/bitflags ) | `2.9.4` | `2.10.0` |
| [cfg-if](https://github.com/rust-lang/cfg-if ) | `1.0.3` | `1.0.4` |
| [clap](https://github.com/clap-rs/clap ) | `4.5.49` | `4.5.53` |
| [zerocopy](https://github.com/google/zerocopy ) | `0.8.27` | `0.8.30` |
| [num_enum](https://github.com/illicitonion/num_enum ) | `0.7.4` | `0.7.5` |
| [landlock](https://github.com/landlock-lsm/rust-landlock ) | `0.4.3` | `0.4.4` |
| [anstyle-query](https://github.com/rust-cli/anstyle ) | `1.1.4` | `1.1.5` |
| [anstyle-wincon](https://github.com/rust-cli/anstyle ) | `3.0.10` | `3.0.11` |
| [cc](https://github.com/rust-lang/cc-rs ) | `1.2.41` | `1.2.47` |
| [hashbrown](https://github.com/rust-lang/hashbrown ) | `0.16.0` | `0.16.1` |
| [indexmap](https://github.com/indexmap-rs/indexmap ) | `2.11.4` | `2.12.1` |
| [is_terminal_polyfill](https://github.com/polyfill-rs/is_terminal_polyfill ) | `1.70.1` | `1.70.2` |
| [once_cell_polyfill](https://github.com/polyfill-rs/once_cell_polyfill ) | `1.70.1` | `1.70.2` |
| [proc-macro2](https://github.com/dtolnay/proc-macro2 ) | `1.0.101` | `1.0.103` |
| [quote](https://github.com/dtolnay/quote ) | `1.0.41` | `1.0.42` |
| [signal-hook-registry](https://github.com/vorner/signal-hook ) | `1.4.6` | `1.4.7` |
| [syn](https://github.com/dtolnay/syn ) | `2.0.106` | `2.0.111` |
| [unicode-ident](https://github.com/dtolnay/unicode-ident ) | `1.0.19` | `1.0.22` |
| [windows-sys](https://github.com/microsoft/windows-rs ) | `0.60.2` | `0.61.2` |
Updates `zbus` from 5.11.0 to 5.12.0
- [Release notes](https://github.com/z-galaxy/zbus/releases )
- [Commits](https://github.com/z-galaxy/zbus/compare/zbus-5.11.0...zbus-5.12.0 )
Updates `serde_with` from 3.15.0 to 3.16.0
- [Release notes](https://github.com/jonasbb/serde_with/releases )
- [Commits](https://github.com/jonasbb/serde_with/compare/v3.15.0...v3.16.0 )
Updates `bitflags` from 2.9.4 to 2.10.0
- [Release notes](https://github.com/bitflags/bitflags/releases )
- [Changelog](https://github.com/bitflags/bitflags/blob/main/CHANGELOG.md )
- [Commits](https://github.com/bitflags/bitflags/compare/2.9.4...2.10.0 )
Updates `cfg-if` from 1.0.3 to 1.0.4
- [Release notes](https://github.com/rust-lang/cfg-if/releases )
- [Changelog](https://github.com/rust-lang/cfg-if/blob/main/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/cfg-if/compare/v1.0.3...v1.0.4 )
Updates `clap` from 4.5.49 to 4.5.53
- [Release notes](https://github.com/clap-rs/clap/releases )
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md )
- [Commits](https://github.com/clap-rs/clap/compare/clap_complete-v4.5.49...clap_complete-v4.5.53 )
Updates `zerocopy` from 0.8.27 to 0.8.30
- [Release notes](https://github.com/google/zerocopy/releases )
- [Changelog](https://github.com/google/zerocopy/blob/main/CHANGELOG.md )
- [Commits](https://github.com/google/zerocopy/compare/v0.8.27...v0.8.30 )
Updates `io-uring` from 0.7.10 to 0.7.11
- [Commits](https://github.com/tokio-rs/io-uring/commits/v0.7.11 )
Updates `num_enum` from 0.7.4 to 0.7.5
- [Commits](https://github.com/illicitonion/num_enum/compare/0.7.4...0.7.5 )
Updates `getrandom` from 0.3.3 to 0.3.4
- [Release notes](https://github.com/rust-random/getrandom/releases )
- [Changelog](https://github.com/rust-random/getrandom/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-random/getrandom/compare/v0.3.3...v0.3.4 )
Updates `landlock` from 0.4.3 to 0.4.4
- [Release notes](https://github.com/landlock-lsm/rust-landlock/releases )
- [Changelog](https://github.com/landlock-lsm/rust-landlock/blob/main/CHANGELOG.md )
- [Commits](https://github.com/landlock-lsm/rust-landlock/compare/v0.4.3...v0.4.4 )
Updates `aho-corasick` from 1.1.3 to 1.1.4
- [Commits](https://github.com/BurntSushi/aho-corasick/compare/1.1.3...1.1.4 )
Updates `anstyle-query` from 1.1.4 to 1.1.5
- [Commits](https://github.com/rust-cli/anstyle/compare/anstyle-query-v1.1.4...anstyle-query-v1.1.5 )
Updates `anstyle-wincon` from 3.0.10 to 3.0.11
- [Commits](https://github.com/rust-cli/anstyle/compare/anstyle-wincon-v3.0.10...anstyle-wincon-v3.0.11 )
Updates `cc` from 1.2.41 to 1.2.47
- [Release notes](https://github.com/rust-lang/cc-rs/releases )
- [Changelog](https://github.com/rust-lang/cc-rs/blob/main/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/cc-rs/compare/cc-v1.2.41...cc-v1.2.47 )
Updates `clap_builder` from 4.5.49 to 4.5.53
- [Release notes](https://github.com/clap-rs/clap/releases )
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md )
- [Commits](https://github.com/clap-rs/clap/compare/v4.5.49...v4.5.53 )
Updates `find-msvc-tools` from 0.1.4 to 0.1.5
- [Release notes](https://github.com/rust-lang/cc-rs/releases )
- [Changelog](https://github.com/rust-lang/cc-rs/blob/main/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/cc-rs/compare/find-msvc-tools-v0.1.4...find-msvc-tools-v0.1.5 )
Updates `hashbrown` from 0.16.0 to 0.16.1
- [Release notes](https://github.com/rust-lang/hashbrown/releases )
- [Changelog](https://github.com/rust-lang/hashbrown/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/hashbrown/compare/v0.16.0...v0.16.1 )
Updates `indexmap` from 2.11.4 to 2.12.1
- [Changelog](https://github.com/indexmap-rs/indexmap/blob/main/RELEASES.md )
- [Commits](https://github.com/indexmap-rs/indexmap/compare/2.11.4...2.12.1 )
Updates `is_terminal_polyfill` from 1.70.1 to 1.70.2
- [Changelog](https://github.com/polyfill-rs/is_terminal_polyfill/blob/main-v1.70/CHANGELOG.md )
- [Commits](https://github.com/polyfill-rs/is_terminal_polyfill/compare/v1.70.1...v1.70.2 )
Updates `jiff` from 0.2.15 to 0.2.16
- [Release notes](https://github.com/BurntSushi/jiff/releases )
- [Changelog](https://github.com/BurntSushi/jiff/blob/master/CHANGELOG.md )
- [Commits](https://github.com/BurntSushi/jiff/compare/jiff-static-0.2.15...jiff-static-0.2.16 )
Updates `jiff-static` from 0.2.15 to 0.2.16
- [Release notes](https://github.com/BurntSushi/jiff/releases )
- [Changelog](https://github.com/BurntSushi/jiff/blob/master/CHANGELOG.md )
- [Commits](https://github.com/BurntSushi/jiff/compare/jiff-static-0.2.15...jiff-static-0.2.16 )
Updates `libz-sys` from 1.1.22 to 1.1.23
- [Release notes](https://github.com/rust-lang/libz-sys/releases )
- [Commits](https://github.com/rust-lang/libz-sys/compare/1.1.22...1.1.23 )
Updates `num_enum_derive` from 0.7.4 to 0.7.5
- [Commits](https://github.com/illicitonion/num_enum/compare/0.7.4...0.7.5 )
Updates `once_cell_polyfill` from 1.70.1 to 1.70.2
- [Changelog](https://github.com/polyfill-rs/once_cell_polyfill/blob/v1.70.2/CHANGELOG.md )
- [Commits](https://github.com/polyfill-rs/once_cell_polyfill/compare/v1.70.1...v1.70.2 )
Updates `openssl-src` from 300.5.3+3.5.4 to 300.5.4+3.5.4
- [Release notes](https://github.com/alexcrichton/openssl-src-rs/releases )
- [Commits](https://github.com/alexcrichton/openssl-src-rs/commits )
Updates `openssl-sys` from 0.9.109 to 0.9.111
- [Release notes](https://github.com/rust-openssl/rust-openssl/releases )
- [Commits](https://github.com/rust-openssl/rust-openssl/compare/openssl-sys-v0.9.109...openssl-sys-v0.9.111 )
Updates `proc-macro2` from 1.0.101 to 1.0.103
- [Release notes](https://github.com/dtolnay/proc-macro2/releases )
- [Commits](https://github.com/dtolnay/proc-macro2/compare/1.0.101...1.0.103 )
Updates `quote` from 1.0.41 to 1.0.42
- [Release notes](https://github.com/dtolnay/quote/releases )
- [Commits](https://github.com/dtolnay/quote/compare/1.0.41...1.0.42 )
Updates `serde_with_macros` from 3.15.0 to 3.16.0
- [Release notes](https://github.com/jonasbb/serde_with/releases )
- [Commits](https://github.com/jonasbb/serde_with/compare/v3.15.0...v3.16.0 )
Updates `signal-hook-registry` from 1.4.6 to 1.4.7
- [Changelog](https://github.com/vorner/signal-hook/blob/master/CHANGELOG.md )
- [Commits](https://github.com/vorner/signal-hook/compare/registry-v1.4.6...registry-v1.4.7 )
Updates `syn` from 2.0.106 to 2.0.111
- [Release notes](https://github.com/dtolnay/syn/releases )
- [Commits](https://github.com/dtolnay/syn/compare/2.0.106...2.0.111 )
Updates `unicode-ident` from 1.0.19 to 1.0.22
- [Release notes](https://github.com/dtolnay/unicode-ident/releases )
- [Commits](https://github.com/dtolnay/unicode-ident/compare/1.0.19...1.0.22 )
Updates `zbus_macros` from 5.11.0 to 5.12.0
- [Release notes](https://github.com/z-galaxy/zbus/releases )
- [Commits](https://github.com/z-galaxy/zbus/compare/zbus-5.11.0...zbus-5.12.0 )
Updates `zerocopy-derive` from 0.8.27 to 0.8.30
- [Release notes](https://github.com/google/zerocopy/releases )
- [Changelog](https://github.com/google/zerocopy/blob/main/CHANGELOG.md )
- [Commits](https://github.com/google/zerocopy/compare/v0.8.27...v0.8.30 )
Updates `zvariant` from 5.7.0 to 5.8.0
- [Release notes](https://github.com/dbus2/zbus/releases )
- [Commits](https://github.com/dbus2/zbus/compare/zvariant-5.7.0...zvariant-5.8.0 )
Updates `zvariant_derive` from 5.7.0 to 5.8.0
- [Release notes](https://github.com/dbus2/zbus/releases )
- [Commits](https://github.com/dbus2/zbus/compare/zbus-5.7.0...zbus-5.8.0 )
Updates `serde_with` from 3.15.0 to 3.16.0
- [Release notes](https://github.com/jonasbb/serde_with/releases )
- [Commits](https://github.com/jonasbb/serde_with/compare/v3.15.0...v3.16.0 )
Updates `bitflags` from 2.9.4 to 2.10.0
- [Release notes](https://github.com/bitflags/bitflags/releases )
- [Changelog](https://github.com/bitflags/bitflags/blob/main/CHANGELOG.md )
- [Commits](https://github.com/bitflags/bitflags/compare/2.9.4...2.10.0 )
Updates `cfg-if` from 1.0.3 to 1.0.4
- [Release notes](https://github.com/rust-lang/cfg-if/releases )
- [Changelog](https://github.com/rust-lang/cfg-if/blob/main/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/cfg-if/compare/v1.0.3...v1.0.4 )
Updates `clap` from 4.5.49 to 4.5.53
- [Release notes](https://github.com/clap-rs/clap/releases )
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md )
- [Commits](https://github.com/clap-rs/clap/compare/clap_complete-v4.5.49...clap_complete-v4.5.53 )
Updates `zerocopy` from 0.8.27 to 0.8.30
- [Release notes](https://github.com/google/zerocopy/releases )
- [Changelog](https://github.com/google/zerocopy/blob/main/CHANGELOG.md )
- [Commits](https://github.com/google/zerocopy/compare/v0.8.27...v0.8.30 )
Updates `bitfield-struct` from 0.11.0 to 0.12.1
- [Release notes](https://github.com/wrenger/bitfield-struct-rs/releases )
- [Commits](https://github.com/wrenger/bitfield-struct-rs/compare/0.11.0...0.12.1 )
Updates `num_enum` from 0.7.4 to 0.7.5
- [Commits](https://github.com/illicitonion/num_enum/compare/0.7.4...0.7.5 )
Updates `landlock` from 0.4.3 to 0.4.4
- [Release notes](https://github.com/landlock-lsm/rust-landlock/releases )
- [Changelog](https://github.com/landlock-lsm/rust-landlock/blob/main/CHANGELOG.md )
- [Commits](https://github.com/landlock-lsm/rust-landlock/compare/v0.4.3...v0.4.4 )
Updates `anstyle-query` from 1.1.4 to 1.1.5
- [Commits](https://github.com/rust-cli/anstyle/compare/anstyle-query-v1.1.4...anstyle-query-v1.1.5 )
Updates `anstyle-wincon` from 3.0.10 to 3.0.11
- [Commits](https://github.com/rust-cli/anstyle/compare/anstyle-wincon-v3.0.10...anstyle-wincon-v3.0.11 )
Updates `cc` from 1.2.41 to 1.2.47
- [Release notes](https://github.com/rust-lang/cc-rs/releases )
- [Changelog](https://github.com/rust-lang/cc-rs/blob/main/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/cc-rs/compare/cc-v1.2.41...cc-v1.2.47 )
Updates `clap_builder` from 4.5.49 to 4.5.53
- [Release notes](https://github.com/clap-rs/clap/releases )
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md )
- [Commits](https://github.com/clap-rs/clap/compare/v4.5.49...v4.5.53 )
Updates `find-msvc-tools` from 0.1.4 to 0.1.5
- [Release notes](https://github.com/rust-lang/cc-rs/releases )
- [Changelog](https://github.com/rust-lang/cc-rs/blob/main/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/cc-rs/compare/find-msvc-tools-v0.1.4...find-msvc-tools-v0.1.5 )
Updates `hashbrown` from 0.16.0 to 0.16.1
- [Release notes](https://github.com/rust-lang/hashbrown/releases )
- [Changelog](https://github.com/rust-lang/hashbrown/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/hashbrown/compare/v0.16.0...v0.16.1 )
Updates `indexmap` from 2.11.4 to 2.12.1
- [Changelog](https://github.com/indexmap-rs/indexmap/blob/main/RELEASES.md )
- [Commits](https://github.com/indexmap-rs/indexmap/compare/2.11.4...2.12.1 )
Updates `is_terminal_polyfill` from 1.70.1 to 1.70.2
- [Changelog](https://github.com/polyfill-rs/is_terminal_polyfill/blob/main-v1.70/CHANGELOG.md )
- [Commits](https://github.com/polyfill-rs/is_terminal_polyfill/compare/v1.70.1...v1.70.2 )
Updates `num_enum_derive` from 0.7.4 to 0.7.5
- [Commits](https://github.com/illicitonion/num_enum/compare/0.7.4...0.7.5 )
Updates `once_cell_polyfill` from 1.70.1 to 1.70.2
- [Changelog](https://github.com/polyfill-rs/once_cell_polyfill/blob/v1.70.2/CHANGELOG.md )
- [Commits](https://github.com/polyfill-rs/once_cell_polyfill/compare/v1.70.1...v1.70.2 )
Updates `proc-macro2` from 1.0.101 to 1.0.103
- [Release notes](https://github.com/dtolnay/proc-macro2/releases )
- [Commits](https://github.com/dtolnay/proc-macro2/compare/1.0.101...1.0.103 )
Updates `quote` from 1.0.41 to 1.0.42
- [Release notes](https://github.com/dtolnay/quote/releases )
- [Commits](https://github.com/dtolnay/quote/compare/1.0.41...1.0.42 )
Updates `serde_with_macros` from 3.15.0 to 3.16.0
- [Release notes](https://github.com/jonasbb/serde_with/releases )
- [Commits](https://github.com/jonasbb/serde_with/compare/v3.15.0...v3.16.0 )
Updates `signal-hook-registry` from 1.4.6 to 1.4.7
- [Changelog](https://github.com/vorner/signal-hook/blob/master/CHANGELOG.md )
- [Commits](https://github.com/vorner/signal-hook/compare/registry-v1.4.6...registry-v1.4.7 )
Updates `syn` from 2.0.106 to 2.0.111
- [Release notes](https://github.com/dtolnay/syn/releases )
- [Commits](https://github.com/dtolnay/syn/compare/2.0.106...2.0.111 )
Updates `unicode-ident` from 1.0.19 to 1.0.22
- [Release notes](https://github.com/dtolnay/unicode-ident/releases )
- [Commits](https://github.com/dtolnay/unicode-ident/compare/1.0.19...1.0.22 )
Updates `windows-sys` from 0.60.2 to 0.61.2
- [Release notes](https://github.com/microsoft/windows-rs/releases )
- [Commits](https://github.com/microsoft/windows-rs/commits )
Updates `zerocopy-derive` from 0.8.27 to 0.8.30
- [Release notes](https://github.com/google/zerocopy/releases )
- [Changelog](https://github.com/google/zerocopy/blob/main/CHANGELOG.md )
- [Commits](https://github.com/google/zerocopy/compare/v0.8.27...v0.8.30 )
---
updated-dependencies:
- dependency-name: zbus
dependency-version: 5.12.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: serde_with
dependency-version: 3.16.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: bitflags
dependency-version: 2.10.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: cfg-if
dependency-version: 1.0.4
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: clap
dependency-version: 4.5.53
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: zerocopy
dependency-version: 0.8.30
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: io-uring
dependency-version: 0.7.11
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: num_enum
dependency-version: 0.7.5
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: getrandom
dependency-version: 0.3.4
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: landlock
dependency-version: 0.4.4
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: aho-corasick
dependency-version: 1.1.4
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: anstyle-query
dependency-version: 1.1.5
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: anstyle-wincon
dependency-version: 3.0.11
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: cc
dependency-version: 1.2.47
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: clap_builder
dependency-version: 4.5.53
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: find-msvc-tools
dependency-version: 0.1.5
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: hashbrown
dependency-version: 0.16.1
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: indexmap
dependency-version: 2.12.1
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: is_terminal_polyfill
dependency-version: 1.70.2
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: jiff
dependency-version: 0.2.16
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: jiff-static
dependency-version: 0.2.16
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: libz-sys
dependency-version: 1.1.23
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: num_enum_derive
dependency-version: 0.7.5
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: once_cell_polyfill
dependency-version: 1.70.2
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: openssl-src
dependency-version: 300.5.4+3.5.4
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: openssl-sys
dependency-version: 0.9.111
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: proc-macro2
dependency-version: 1.0.103
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: quote
dependency-version: 1.0.42
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: serde_with_macros
dependency-version: 3.16.0
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: signal-hook-registry
dependency-version: 1.4.7
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: syn
dependency-version: 2.0.111
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: unicode-ident
dependency-version: 1.0.22
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: zbus_macros
dependency-version: 5.12.0
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: zerocopy-derive
dependency-version: 0.8.30
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: zvariant
dependency-version: 5.8.0
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: zvariant_derive
dependency-version: 5.8.0
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: serde_with
dependency-version: 3.16.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: bitflags
dependency-version: 2.10.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: cfg-if
dependency-version: 1.0.4
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: clap
dependency-version: 4.5.53
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: zerocopy
dependency-version: 0.8.30
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: bitfield-struct
dependency-version: 0.12.1
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: num_enum
dependency-version: 0.7.5
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: landlock
dependency-version: 0.4.4
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: anstyle-query
dependency-version: 1.1.5
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: anstyle-wincon
dependency-version: 3.0.11
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: cc
dependency-version: 1.2.47
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: clap_builder
dependency-version: 4.5.53
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: find-msvc-tools
dependency-version: 0.1.5
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: hashbrown
dependency-version: 0.16.1
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: indexmap
dependency-version: 2.12.1
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: is_terminal_polyfill
dependency-version: 1.70.2
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: num_enum_derive
dependency-version: 0.7.5
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: once_cell_polyfill
dependency-version: 1.70.2
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: proc-macro2
dependency-version: 1.0.103
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: quote
dependency-version: 1.0.42
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: serde_with_macros
dependency-version: 3.16.0
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: signal-hook-registry
dependency-version: 1.4.7
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: syn
dependency-version: 2.0.111
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: unicode-ident
dependency-version: 1.0.22
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: windows-sys
dependency-version: 0.61.2
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: zerocopy-derive
dependency-version: 0.8.30
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-11-25 11:12:36 +00:00
Rob Bradford
bcf23c1bf6
ci: Move micro_http to rust-vmm dependabot group
...
This crate depends upon vmm-sys-util which is in this group so it also
needs to be in that group.
Signed-off-by: Rob Bradford <rbradford@rivosinc.com >
2025-11-25 09:06:51 +00:00
Philipp Schuster
67fc9d990e
misc: vmm: drop extern crate, use modern rust
...
This commit is part of a series of similar commits.
Signed-off-by: Philipp Schuster <philipp.schuster@cyberus-technology.de >
On-behalf-of: SAP philipp.schuster@sap.com
2025-11-24 22:36:46 +00:00
Philipp Schuster
2157f1a1f2
misc: virtio-devices: drop extern crate, use modern rust
...
This commit is part of a series of similar commits.
Signed-off-by: Philipp Schuster <philipp.schuster@cyberus-technology.de >
On-behalf-of: SAP philipp.schuster@sap.com
2025-11-24 22:36:46 +00:00
Philipp Schuster
adb7cfd72c
misc: vhost_user_net: drop extern crate, use modern rust
...
This commit is part of a series of similar commits.
Signed-off-by: Philipp Schuster <philipp.schuster@cyberus-technology.de >
On-behalf-of: SAP philipp.schuster@sap.com
2025-11-24 22:36:46 +00:00
Philipp Schuster
1f70e20c17
misc: vhost_user_block: drop extern crate, use modern rust
...
This commit is part of a series of similar commits.
Signed-off-by: Philipp Schuster <philipp.schuster@cyberus-technology.de >
On-behalf-of: SAP philipp.schuster@sap.com
2025-11-24 22:36:46 +00:00
Philipp Schuster
29e8a242b6
misc: tracer: drop extern crate, use modern rust
...
This commit is part of a series of similar commits.
Signed-off-by: Philipp Schuster <philipp.schuster@cyberus-technology.de >
On-behalf-of: SAP philipp.schuster@sap.com
2025-11-24 22:36:46 +00:00
Philipp Schuster
d32b2dc137
misc: tpm: drop extern crate, use modern rust
...
This commit is part of a series of similar commits.
Signed-off-by: Philipp Schuster <philipp.schuster@cyberus-technology.de >
On-behalf-of: SAP philipp.schuster@sap.com
2025-11-24 22:36:46 +00:00
Philipp Schuster
7de45b3a75
misc: tests: drop extern crate, use modern rust
...
This commit is part of a series of similar commits.
Signed-off-by: Philipp Schuster <philipp.schuster@cyberus-technology.de >
On-behalf-of: SAP philipp.schuster@sap.com
2025-11-24 22:36:46 +00:00
Philipp Schuster
3709105043
misc: rate_limiter: drop extern crate, use modern rust
...
This commit is part of a series of similar commits.
Signed-off-by: Philipp Schuster <philipp.schuster@cyberus-technology.de >
On-behalf-of: SAP philipp.schuster@sap.com
2025-11-24 22:36:46 +00:00
Philipp Schuster
2c1eccc6bc
misc: performance-metrics: drop extern crate, use modern rust
...
This commit is part of a series of similar commits.
Signed-off-by: Philipp Schuster <philipp.schuster@cyberus-technology.de >
On-behalf-of: SAP philipp.schuster@sap.com
2025-11-24 22:36:46 +00:00
Philipp Schuster
6f4b5253b4
misc: pci: drop extern crate, use modern rust
...
This commit is part of a series of similar commits.
Signed-off-by: Philipp Schuster <philipp.schuster@cyberus-technology.de >
On-behalf-of: SAP philipp.schuster@sap.com
2025-11-24 22:36:46 +00:00
Philipp Schuster
492f24c632
misc: net_util: drop extern crate, use modern rust
...
This commit is part of a series of similar commits.
Signed-off-by: Philipp Schuster <philipp.schuster@cyberus-technology.de >
On-behalf-of: SAP philipp.schuster@sap.com
2025-11-24 22:36:46 +00:00
Philipp Schuster
47dff4f6bc
misc: net_gen: drop extern crate, use modern rust
...
This commit is part of a series of similar commits.
Signed-off-by: Philipp Schuster <philipp.schuster@cyberus-technology.de >
On-behalf-of: SAP philipp.schuster@sap.com
2025-11-24 22:36:46 +00:00
Philipp Schuster
b3f929432e
misc: hypervisor: drop extern crate, use modern rust
...
This commit is part of a series of similar commits.
Signed-off-by: Philipp Schuster <philipp.schuster@cyberus-technology.de >
On-behalf-of: SAP philipp.schuster@sap.com
2025-11-24 22:36:46 +00:00
Philipp Schuster
e39174ac51
misc: devices: drop extern crate, use modern rust
...
This commit is part of a series of similar commits.
Signed-off-by: Philipp Schuster <philipp.schuster@cyberus-technology.de >
On-behalf-of: SAP philipp.schuster@sap.com
2025-11-24 22:36:46 +00:00
Philipp Schuster
5f66a26b2e
misc: block: drop extern crate, use modern rust
...
This commit is part of a series of similar commits.
Signed-off-by: Philipp Schuster <philipp.schuster@cyberus-technology.de >
On-behalf-of: SAP philipp.schuster@sap.com
2025-11-24 22:36:46 +00:00
Philipp Schuster
75cdfb0117
misc: arch: drop extern crate, use modern rust
...
This commit is the first in a series of similar commits to clean up
obsolete `extern crate` statements
Since Rust 1.30, normal macros can be imported via `use`, and with Rust
1.31 and edition 2018 this has become the preferred approach.
`extern crate` is only needed for `alloc` in `no_std` crates, which does
not apply here.
By dropping these (often redundant or odd) `extern crate` lines, we
expose the actual dependencies more clearly and reduce technical debt.
## Auto-generation of the series
Most of this series was produced automatically:
1. Removed all "extern crate" references
2. Run the script [0] to add missing `use` statements
3. Run `cargo +nightly fmt --all`
4. Fix the remaining problems manually
The treewide changes were then split into per-folder commits.
[0]
```python
import os
import re
# Mapping of macro/function usage to imports
MACRO_IMPORTS = {
"info!": "use log::info;\n",
"debug!": "use log::debug;\n",
"error!": "use log::error;\n",
"trace!": "use log::trace;\n",
"warn!": "use log::warn;\n",
"event!": "use event_monitor::event;\n",
"anyhow!(": "use anyhow::anyhow;\n",
"bitflags!(": "use bitflags::bitflags;\n",
"ioctl_ior_nr!": "use vmm_sys_util::{ioctl_ior_nr};\n",
"ioctl_iow_nr!": "use vmm_sys_util::{ioctl_iow_nr};\n",
}
# Regex for finding the first use statement
USE_REGEX = re.compile(r"^\s*(use|pub use) .+?;")
def process_file(path):
with open(path, "r", encoding="utf-8") as f:
lines = f.readlines()
content = "".join(lines)
existing_imports = set(lines)
needed_imports = set()
# Check macros/functions against mapping, only add if not already present
for key, import_stmt in MACRO_IMPORTS.items():
if key in content and import_stmt not in existing_imports:
needed_imports.add(import_stmt)
if not needed_imports:
print(f"Unmodified {path} (no new imports needed)")
return # Nothing to do
# Find first use or pub use statement
for i, line in enumerate(lines):
if USE_REGEX.match(line):
insertion_index = i + 1
break
else:
print(f"Unmodified {path} (no use or pub use statement found)")
return # No use statement found, skip file
# Insert imports
lines[insertion_index:insertion_index] = list(needed_imports)
# Write back file
with open(path, "w", encoding="utf-8") as f:
f.writelines(lines)
print(f"Modified {path}, added imports: {''.join(needed_imports).strip()}")
for root, _, files in os.walk("."):
for file in files:
if file.endswith(".rs"):
process_file(os.path.join(root, file))
```
Signed-off-by: Philipp Schuster <philipp.schuster@cyberus-technology.de >
On-behalf-of: SAP philipp.schuster@sap.com
2025-11-24 22:36:46 +00:00
Eugene Korenevsky
e6d31a3d81
block: qcow: switch qcow2 tests from focal to jammy qcow2 images
...
Signed-off-by: Eugene Korenevsky <ekorenevsky@aliyun.com >
2025-11-24 08:52:13 +00:00
Eugene Korenevsky
94ed7c1745
block: qcow: add integration tests for qcow2 compression
...
Add tests:
- zlib: test_virtio_block_qcow2_zlib()
- zstd: test_virtio_block_qcow2_zstd()
Both these tests use zlib- and zstd-compressed images as OS image.
Modify test_virtio_block_qcow2_backing_file() test: it is practical
to test qcow2 file-backing with compression, so use zlib-compressed
image as a backing file.
Signed-off-by: Eugene Korenevsky <ekorenevsky@aliyun.com >
2025-11-24 08:52:13 +00:00
Eugene Korenevsky
aa67250049
block: qcow: support compressed clusters (zlib, zstd)
...
Add support of reading and writing compressed clusters.
Support zlib and zstd compressions.
L2 cache: store entire L2 entries, not only standard cluster addresses.
Read path. Offsets of compressed clusters cannot be determined,
therefore replace QcowFile.file_offset_read() with QcowFile.file_read().
This method reads the cluster, decompresses it if necessary and returns
the data to the caller.
Write path. QcowFile.file_offset_write(): since writing to compressed
clusters is not generally possible, allocate a new standard
(non-compressed) cluster if compressed L2 entry is encountered; then
decompress compressed cluster into new cluster; then return offset
inside new cluster to the caller. Processing of standard clusters is
not changed.
Signed-off-by: Eugene Korenevsky <ekorenevsky@aliyun.com >
2025-11-24 08:52:13 +00:00
Rob Bradford
4d79709b5e
tests: Re-enable test_windows_guest_snapshot_restore
...
Only for x86-64 for now as it's still failing on ARM64.
See: #4327
Signed-off-by: Rob Bradford <rbradford@rivosinc.com >
2025-11-22 12:39:47 +00:00
Rob Bradford
e993310c96
hypervisor: kvm: Save KVM HyperV SynIC emulation state
...
As well as saving the MSRs as it is currently does ensure that the KVM
capability is enabled along with keeping the internal state updated.
Signed-off-by: Rob Bradford <rbradford@rivosinc.com >
Co-authored-by: Chengyu Fu <chengyu.fu@linux.alibaba.com >
2025-11-22 12:39:47 +00:00
Philipp Schuster
16fbab30b1
docs: add gitlint guidance to CONTRIBUTING.md
...
Signed-off-by: Philipp Schuster <philipp.schuster@cyberus-technology.de >
On-behalf-of: SAP philipp.schuster@sap.com
2025-11-22 10:38:38 +00:00
Philipp Schuster
f5d2973546
block: advisory locks: use byte-range locks to match QEMU behavior
...
The granularity has significant implications in typical cloud
deployments with network storage. The Linux kernel will sync advisory
locks to network file systems, but these backends may have different
policies and handle locks differently. For example, Netapp speaks a NFS
API but will treat advisory OFD locks for the whole file as mandatory
locks, whereas byte-range locks for the whole file will remain
advisory [0].
As it is a valid use case to prevent multiple CHV instances from
accessing the same disk but disk management software (e.g., Cinder in
OpenStack) should be able to snapshot disks while VMs are running, we
need special control over the lock granularity. Therefore, it is a valid
use case to lock the whole byte range of a disk image without
technically locking the whole file - to get the best of both worlds.
This also brings CHVs behavior in line with QEMU [1].
Whole-file locks remain a valid use case and could be supported later.
This patch only provides the necessary groundwork; making it
configurable is out of scope for now.
[0] https://kb.netapp.com/on-prem/ontap/da/NAS/NAS-KBs/How_is_Mandatory_Locking_supported_for_NFSv4_on_ONTAP_9
[1] <qemu>/util/osdep.c::qemu_lock_fcntl()
Signed-off-by: Philipp Schuster <philipp.schuster@cyberus-technology.de >
On-behalf-of: SAP philipp.schuster@sap.com
2025-11-22 10:38:38 +00:00
Demi Marie Obenour
2be304b392
misc: Check that get_slice() returned a big enough slice
...
This should be guaranteed by GuestMemory and GuestMemoryRegion, but
those traits are currently safe, so add checks to guard against
incorrect implementations of them.
Signed-off-by: Demi Marie Obenour <demiobenour@gmail.com >
2025-11-22 10:24:13 +00:00
Demi Marie Obenour
969a3b57a3
misc: tdx: make tdx_init_memory_region() unsafe
...
It takes a pointer to a userspace address that it accesses, so it should
be marked unsafe. This was missed earlier.
Signed-off-by: Demi Marie Obenour <demiobenour@gmail.com >
2025-11-22 10:24:13 +00:00
Demi Marie Obenour
021f450cdb
virtio-devices: proper bounds checks
...
Callers of get_host_address_range() rely on it returning a pointer to at
least size bytes of memory. mem.get_host_address() is an overrideable
method of a safe trait, so it is better for safe code to not rely on its
correctness for safety. Instead, use mem.get_slice(), which returns a
VolatileSlice whose invariants guarantee that it points to a sufficient
amount of memory. If mem.check_range() succeeds but mem.get_slice()
returns a slice that is too small, this means that there is either a
logic error or a situation the code cannot support yet, so panic.
Signed-off-by: Demi Marie Obenour <demiobenour@gmail.com >
2025-11-22 10:24:13 +00:00
Demi Marie Obenour
0e21b56aea
pci: do not check for page-aligned size and offset before calling mmap()
...
The kernel will validate that the size is page-aligned. The file offset
is always zero, so the kernel will also validate that the offset is
page-aligned.
Signed-off-by: Demi Marie Obenour <demiobenour@gmail.com >
2025-11-22 10:24:13 +00:00
Demi Marie Obenour
8be28f8438
misc: Work around vfio_dma_map being unsound
...
This API passes a u64 to a kernel API that treats the u64 as a userspace
address. Therefore, it should be marked unsafe, but it currently is not
[1]. Wrap the call in an unsafe block to document that invariants must
be upheld to avoid undefined behavior. This causes a compiler warning,
so suppress the warning with #[allow(unused_unsafe)].
[1]: https://github.com/rust-vmm/vfio/issues/100
Signed-off-by: Demi Marie Obenour <demiobenour@gmail.com >
2025-11-22 10:24:13 +00:00
Demi Marie Obenour
12c7cc5e4f
pci: Remove dma_map() and dma_unmap()
...
These APIs had no users, were not documented, and were unsound.
Signed-off-by: Demi Marie Obenour <demiobenour@gmail.com >
2025-11-22 10:24:13 +00:00
Demi Marie Obenour
8f6a6a85e0
virtio-devices: mark Vdpa::dma_map as unsafe
...
I believe that its only caller used it safely, but it is still better to
mark the code as unsafe. Also add additional validity checks.
Signed-off-by: Demi Marie Obenour <demiobenour@gmail.com >
2025-11-22 10:24:13 +00:00
Demi Marie Obenour
06b76972e2
pci: move operation out of loop
...
No functional change intended.
Signed-off-by: Demi Marie Obenour <demiobenour@gmail.com >
2025-11-22 10:24:13 +00:00
Demi Marie Obenour
199d2d05d8
hypervisor: tdx: do not use u64 to represent pointers
...
Also drop support for building the TDX code for 32-bit targets. All
CPUs with TDX support are 64-bit so supporting 32-bit targets is not
needed.
Signed-off-by: Demi Marie Obenour <demiobenour@gmail.com >
2025-11-22 10:24:13 +00:00
Demi Marie Obenour
42522a88c0
misc: do not use u64 to represent host pointers
...
To ensure that struct sizes are the same on 32-bit and 64-bit, various
kernel APIs use __u64 (Rust u64) to represent userspace pointers.
Userspace is expected to cast pointers to __u64 before passing them to
the kernel, and cast kernel-provided __u64 to a pointer before using
them. However, various safe APIs in Cloud Hypervisor took
caller-provided u64 values and passed them to syscalls that interpret
them as userspace addresses. Therefore, passing bad u64 values would
cause memory disclosure or corruption.
Fix the bug by using usize and pointer types as appropriate. To make
soundness of the code easier to reason about, the PCI code gains a new
MmapRegion abstraction that ensures the validity of pointers. The rest
of the code already has an MmapRegion abstraction it can use. To avoid
having to reason about whether something is keeping the MmapRegion
alive, reference counting is added. MmapRegion cannot hold references
to other objects, so the reference counting cannot introduce cycles.
Signed-off-by: Demi Marie Obenour <demiobenour@gmail.com >
2025-11-22 10:24:13 +00:00
Demi Marie Obenour
fdc19ad85e
misc: Mark memory region APIs as unsafe
...
To ensure that struct sizes are the same on 32-bit and 64-bit, various
kernel APIs use __u64 (Rust u64) to represent userspace pointers.
Userspace is expected to cast pointers to __u64 before passing them to
the kernel, and cast kernel-provided __u64 to a pointer before using
them. However, various safe APIs in Cloud Hypervisor took
caller-provided u64 values and passed them to syscalls that treat them
as userspace addresses. Therefore, passing bad u64 values would cause
memory disclosure or corruption. The memory region APIs are one example
of this, so mark them as unsafe.
Signed-off-by: Demi Marie Obenour <demiobenour@gmail.com >
2025-11-22 10:24:13 +00:00
Demi Marie Obenour
00f0b9e42c
vmm: Fix clippy lints on RISC-V
...
These caused CI failures in #7129 .
No functional change.
Signed-off-by: Demi Marie Obenour <demiobenour@gmail.com >
2025-11-22 10:24:13 +00:00
dependabot[bot]
0ff8d1cb28
build: Bump actions/checkout from 5 to 6
...
Bumps [actions/checkout](https://github.com/actions/checkout ) from 5 to 6.
- [Release notes](https://github.com/actions/checkout/releases )
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md )
- [Commits](https://github.com/actions/checkout/compare/v5...v6 )
---
updated-dependencies:
- dependency-name: actions/checkout
dependency-version: '6'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-11-22 00:05:53 +00:00
Thomas Prescher
b6032bc492
arch: fix extended topology enumeration subleafs
...
When booting a Linux guest in SMP configuration, on sapphire rapids
and granite rapids the following kernel warning can be observed:
[Firmware Bug]: CPUID leaf 0x1f subleaf 1 APIC ID mismatch 1 != 0
[Firmware Bug]: CPUID leaf 0x1f subleaf 2 APIC ID mismatch 1 != 0
The reason is that we announce the presence of the extended topology
leaf, but fail to announce the x2apic ID in EDX for each subleaf.
Signed-off-by: Thomas Prescher <thomas.prescher@cyberus-technology.de >
On-behalf-of: SAP thomas.prescher@sap.com
2025-11-21 17:17:27 +00:00
Stefan Nürnberger
95b8c6afdd
seccomp: allow sendto for vfio_user devices
...
as of rust 1.90, writes to unix sockets use the sendto syscall. This
affects the vcpu threads when vfio_user devices are accessed.
Signed-off-by: Stefan Nürnberger <stefan.nuernberger@cyberus-technology.de >
2025-11-21 17:06:19 +00:00
Philipp Schuster
f02745a7ed
vmm: unrelated small code improvements
...
Unfortunately, there is no lint for that.
Signed-off-by: Philipp Schuster <philipp.schuster@cyberus-technology.de >
On-behalf-of: SAP philipp.schuster@sap.com
2025-11-21 09:32:11 +00:00
Philipp Schuster
fed010fcd1
misc: clippy: add manual_string_new
...
Signed-off-by: Philipp Schuster <philipp.schuster@cyberus-technology.de >
On-behalf-of: SAP philipp.schuster@sap.com
2025-11-21 09:32:11 +00:00
Philipp Schuster
b4c62bf159
misc: clippy: add semicolon_if_nothing_returned
...
Signed-off-by: Philipp Schuster <philipp.schuster@cyberus-technology.de >
On-behalf-of: SAP philipp.schuster@sap.com
2025-11-21 09:32:11 +00:00
Philipp Schuster
ea4f07d3bf
misc: clippy: add uninlined_format_args
...
Signed-off-by: Philipp Schuster <philipp.schuster@cyberus-technology.de >
On-behalf-of: SAP philipp.schuster@sap.com
2025-11-21 09:32:11 +00:00
Philipp Schuster
7cb73e9e56
misc: clippy: add unnecessary_semicolon
...
Signed-off-by: Philipp Schuster <philipp.schuster@cyberus-technology.de >
On-behalf-of: SAP philipp.schuster@sap.com
2025-11-21 09:32:11 +00:00
Philipp Schuster
06390342a6
misc: clippy: add default clippy lint groups
...
This is the first commit in a series of commits to improve the Code
Quality in Cloud Hypervisor in a sustainable way. These are the
default rules from `clippy::all` but written here to be more explicit.
`clippy::all` refers to all "default sensible" lints, not all
existing lints.
Signed-off-by: Philipp Schuster <philipp.schuster@cyberus-technology.de >
On-behalf-of: SAP philipp.schuster@sap.com
2025-11-21 09:32:11 +00:00
Philipp Schuster
11d17fbf79
docs: update CONTRIBUTING.md
...
Signed-off-by: Philipp Schuster <philipp.schuster@cyberus-technology.de >
On-behalf-of: SAP philipp.schuster@sap.com
2025-11-20 21:15:03 +00:00
Philipp Schuster
e160a17131
net_util: unrelated code improvement
...
Signed-off-by: Philipp Schuster <philipp.schuster@cyberus-technology.de >
On-behalf-of: SAP philipp.schuster@sap.com
2025-11-20 21:15:03 +00:00
Philipp Schuster
7364fbdc8e
tests: move VM test into a test module
...
Signed-off-by: Philipp Schuster <philipp.schuster@cyberus-technology.de >
On-behalf-of: SAP philipp.schuster@sap.com
2025-11-20 21:15:03 +00:00
Philipp Schuster
35b91f76af
tests: prevent broken terminal after running cargo test -p vmm
...
Signed-off-by: Philipp Schuster <philipp.schuster@cyberus-technology.de >
On-behalf-of: SAP philipp.schuster@sap.com
2025-11-20 21:15:03 +00:00
Philipp Schuster
d1680b9ff9
tests: streamline module names to unit_tests
...
This better aligns with the rest of the code and makes it clearer
that these tests can run "as is" in a normal hosted environments
without the special test environment.
Signed-off-by: Philipp Schuster <philipp.schuster@cyberus-technology.de >
On-behalf-of: SAP philipp.schuster@sap.com
2025-11-20 21:15:03 +00:00
Philipp Schuster
c990f1bdaa
tests: enable cargo test --workspace + #[cfg(devcli_testenv)]
...
TL;DR: Massive quality of life improvement for devs
Cloud Hypervisor uses the Cargo test framework for multiple tests:
- normal unit tests
- unit tests requiring special environment (the Tap device tests)
- integration tests requiring a special environment
This prevented the execution of `cargo test --workspace`, which results
in a very poor developer experience. Although
`./scripts/run_unit_tests.sh` exists, there are valid reasons why devs
cannot or even don't want to use it.
By adding a new `chv_testenv` rustc config, we can conditionally only
activate tests when the `./scripts/` magic runs them. This improves
the general developer experience by a lot.
Signed-off-by: Philipp Schuster <philipp.schuster@cyberus-technology.de >
On-behalf-of: SAP philipp.schuster@sap.com
2025-11-20 21:15:03 +00:00
Bo Chen
e3e9e1c84c
tests: Add retries for artifact downloads
...
This change makes integration tests more resilient to transient download
failures. This will reduce churn in our CI workflow, specifically for
the Merge Queue.
Examples:
https://github.com/cloud-hypervisor/cloud-hypervisor/actions/runs/19545345066/job/55962570896
https://github.com/cloud-hypervisor/cloud-hypervisor/actions/runs/19545345122/job/55962570736
https://github.com/cloud-hypervisor/cloud-hypervisor/actions/runs/19545345034/job/55962570724
Signed-off-by: Bo Chen <bchen@crusoe.ai >
2025-11-20 19:34:57 +00:00
Changyuan Lyu
be495ec64a
arch: x86_64: fix cpuid leaf 0x1 EBX bits 23-16
...
Commit 5ec47d4883 was intended to patch ebx bits 23-16 in cpuid leaf
0x1, but it was not working as expected, as in rust, operator << has a
stronger precedence than & [1]. Later commit b6667f948e fixed the
operator precedence clippy warning, but did not fix the actual issue. As
a result, the current code is not changing ebx,
```
cpu_ebx |= ((dies_per_package as u32) * (cores_per_die as u32) * (threads_per_core as u32))
& (0xff << 16);
```
Since the total number of logical processors is generally less than
65536, the right hand side of the expression is 0 in most cases.
[1] https://doc.rust-lang.org/reference/expressions.html#expression-precedence
Fixes: 5ec47d4883 ("arch: x86_64: enable HTT flag")
Signed-off-by: Changyuan Lyu <changyuanl@google.com >
2025-11-18 08:27:59 +00:00
dependabot[bot]
8ee26286ac
build: Bump crate-ci/typos from 1.39.0 to 1.39.2
...
Bumps [crate-ci/typos](https://github.com/crate-ci/typos ) from 1.39.0 to 1.39.2.
- [Release notes](https://github.com/crate-ci/typos/releases )
- [Changelog](https://github.com/crate-ci/typos/blob/master/CHANGELOG.md )
- [Commits](https://github.com/crate-ci/typos/compare/v1.39.0...v1.39.2 )
---
updated-dependencies:
- dependency-name: crate-ci/typos
dependency-version: 1.39.2
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-11-18 00:27:28 +00:00
Philipp Schuster
935332bc42
misc: unrelated misc code improvements
...
Signed-off-by: Philipp Schuster <philipp.schuster@cyberus-technology.de >
On-behalf-of: SAP philipp.schuster@sap.com
2025-11-17 16:59:49 +00:00
Philipp Schuster
e4fd066d82
misc: improve developer experience of cargo clippy
...
A major improvement to the developer experience of clippy in
Cloud Hypervisor.
1. Make `cargo clippy` just work with the same lints we use in CI
2. Simplify adding new lints
Signed-off-by: Philipp Schuster <philipp.schuster@cyberus-technology.de >
On-behalf-of: SAP philipp.schuster@sap.com
2025-11-17 16:59:49 +00:00
Philipp Schuster
a7fa3a0c86
vm-migration: better naming + unittests
...
Signed-off-by: Philipp Schuster <philipp.schuster@cyberus-technology.de >
On-behalf-of: SAP philipp.schuster@sap.com
2025-11-17 14:34:54 +00:00
Julian Stecklina
b6c266c880
vmm: avoid creating large temporary vector during migration
...
... by just passing the iterator along. For large VMs this bitmap is
gigantic. A 12TB VM has 384MB of dirty bitmap.
With all these optimizations from the previous commits in place, we
see quite the improvement when it comes to scanning the dirty bitmap.
For a bitmap with 1% bits (randomly) set, dirty_log() takes:
Original code: 2166ms (100.0%)
New code: 382ms ( 17.6%)
on my system. The sparser the dirty bitmap the faster. Scanning an
empty bitmap is 100x faster. For a 5% populated bitmap we are still 3x
faster.
If someone wants to play with this, there is a benchmark harness here:
https://github.com/blitz/chv-bitmap-bench
On-behalf-of: SAP julian.stecklina@sap.com
Signed-off-by: Julian Stecklina <julian.stecklina@cyberus-technology.de >
2025-11-17 14:34:54 +00:00
Julian Stecklina
fc99e299c3
virtio-devices: avoid creating a temporary vector
...
... by passing the slice along instead.
On-behalf-of: SAP julian.stecklina@sap.com
Signed-off-by: Julian Stecklina <julian.stecklina@cyberus-technology.de >
2025-11-17 14:34:54 +00:00
Julian Stecklina
3d5f9a3a98
virtio-devices: mark a possible improvement
...
This would be a good opportunity to optimize another pointless vector
away, but I don't have a good way to test this at the moment. But
maybe someone else gives it a shot.
On-behalf-of: SAP julian.stecklina@sap.com
Signed-off-by: Julian Stecklina <julian.stecklina@cyberus-technology.de >
2025-11-17 14:34:54 +00:00
Julian Stecklina
ad9034ed1d
vm-migration: optimize dirty bitmap scanning
...
Adding itertools as dependency improves the iteration code in the
following significantly.
With this change, we don't need a copy of the vector. Just something
that can be coerced into an iterator. We also use the bit position
iterator to make the code somewhat clearer. The new code is much
faster, because it will not iterate over every bit, just each 1 bit in
the input.
The next commit will complete this optimization and have some concrete
numbers.
On-behalf-of: SAP julian.stecklina@sap.com
Signed-off-by: Julian Stecklina <julian.stecklina@cyberus-technology.de >
2025-11-17 14:34:54 +00:00
Julian Stecklina
96f4e33897
vm-migration: add helper to iterate over bitmaps
...
Instead of using ad-hoc code, just write an extension to the Iterator
trait that we can easily unit test.
Co-authored-by: Philipp Schuster <philipp.schuster@cyberus-technology.de >
On-behalf-of: SAP julian.stecklina@sap.com
On-behalf-of: SAP philipp.schuster@sap.com
Signed-off-by: Julian Stecklina <julian.stecklina@cyberus-technology.de >
Signed-off-by: Philipp Schuster <philipp.schuster@cyberus-technology.de >
2025-11-17 14:34:54 +00:00
Rob Bradford
6147c4c8b7
tests: Disable nextest failure on fw_cfg tests on MSHV
...
Due to the fw_cfg test being disabled on MSHV this results in no tests
being runnable which results in an error in nextest. Reduce that error
to a warning use --no-tests=warn
Signed-off-by: Rob Bradford <rbradford@rivosinc.com >
2025-11-17 10:22:34 +00:00
Rob Bradford
f9076cccfa
tests: Add test timeout (10 minutes) to nextest configuration
...
Signed-off-by: Rob Bradford <rbradford@rivosinc.com >
2025-11-17 10:22:34 +00:00
Rob Bradford
9f046f02a2
tests: Disable test_snapshot_restore_with_fd()
...
This is now failing on x86-64 as well after the update of the Rust
version.
Signed-off-by: Rob Bradford <rbradford@rivosinc.com >
2025-11-17 10:22:34 +00:00
Rob Bradford
3734a13cbf
tests: Use cargo nextest for integration tests
...
This alternative test runner supports retries and also reports how long
each test takes to run.
Signed-off-by: Rob Bradford <rbradford@rivosinc.com >
2025-11-17 10:22:34 +00:00
Rob Bradford
2707b0f72a
build: Add cargo nextest to container
...
cargo nextest is an improved test runner that allows retries as well a
reporting the times for the test runs.
Signed-off-by: Rob Bradford <rbradford@rivosinc.com >
2025-11-17 10:22:34 +00:00
Rob Bradford
176023156e
test_infra: Make guest ID generation multiprocess safe
...
When using nextest for running tests each test is run in its own process
so the old solution of using a static variable for the guest ID (used to
determine the network segment) no longer works.
Instead use a text file on the filesystem protected with an exclusive
lock. The test process will read from it and then write back the next ID
that can be used. It wraps around at the limit of u8 and skips ID 0.
This function intentionally panics rather than propagate errors as it
should only be called for testing purposes and there the panic handler
will give a useful backtrace and cleanup.
Signed-off-by: Rob Bradford <rbradford@rivosinc.com >
2025-11-17 10:22:34 +00:00
Rob Bradford
5051feb0bd
build: Bump MSRV to 1.89.0
...
This is required to support exclusive locking on files which is needed
for safe test ID generation when using nextest (since it runs each test
as a separate process.)
Signed-off-by: Rob Bradford <rbradford@rivosinc.com >
2025-11-17 10:22:34 +00:00
Matt Moriarity
ec57aade15
seccomp: allow sendto for vsock thread
...
as of rust 1.90, writes to unix socket streams use send_with_flags
instead of write, so it uses a sendto syscall instead of write.
Signed-off-by: Matt Moriarity <matt@mattmoriarity.com >
2025-11-13 18:47:01 +00:00
Philipp Schuster
02da2f2d36
misc: gitlint: python code improvements
...
Signed-off-by: Philipp Schuster <philipp.schuster@cyberus-technology.de >
On-behalf-of: SAP philipp.schuster@sap.com
2025-11-13 19:16:45 +00:00
Philipp Schuster
62345cd6fd
misc: gitlint: allow more prefixes disabling 72 width limit
...
Suggested-by Alyssa Ross [0].
[0]: https://github.com/cloud-hypervisor/cloud-hypervisor/pull/7471#discussion_r2519894440
Signed-off-by: Philipp Schuster <philipp.schuster@cyberus-technology.de >
On-behalf-of: SAP philipp.schuster@sap.com
2025-11-13 19:16:45 +00:00
Philipp Schuster
f826d92601
misc: gitlint: allow well-known commit tags to exceed line limit
...
To get that list, I've used
```
git log | grep --fixed-strings -- "-by:" | head -n 100000 | sort | less
```
on the Linux kernel's git repository.
Signed-off-by: Philipp Schuster <philipp.schuster@cyberus-technology.de >
On-behalf-of: SAP philipp.schuster@sap.com
2025-11-13 19:16:45 +00:00
Rob Bradford
063aa4b7d5
arch: riscv64: Expose host extension set to guest via FDT
...
The set of extensions supported by a RISC-V system needs to be exposed
to the guest - currently that is a fixed, minimal set of extensions.
These extensions are not sufficient to boot Ubuntu 25.10 which now has a
mininimum requirement of RVA23S64 (which is a minimum set of extensions
that make sense for server use cases.)
The easiest way to convey the extensions that the guest should use is to
copy those that the host kernel understands (and thus includes in the
/proc/cpuinfo) data.
However since nested virtualisation is not currently possible - exclude
the "H" (Hypervisor) extension from the list of short (single letter)
extensions.
Signed-off-by: Rob Bradford <rbradford@rivosinc.com >
2025-11-13 14:34:38 +00:00
Rob Bradford
d586c844de
tests: Update test_iommu_segments check
...
After updating the Linux kernel to 6.19.6 the second segment (segment=1)
is now under the 2nd IOMMU group (which it a more logical setup) and as
such the added device which is on that segment is in that second IOMMU
group.
The same check is made in test_vdpa_block so also test there.
Signed-off-by: Rob Bradford <rbradford@rivosinc.com >
2025-11-13 14:29:26 +00:00
Rob Bradford
b3b51bd3a2
tests: aarch64: Fix test_virtio_iommu for kernel IOMMU groups change
...
The numbers for the IOMMU groups have shifted after the update to Linux
kernel 6.16.9.
Signed-off-by: Rob Bradford <rbradford@rivosinc.com >
2025-11-13 14:29:26 +00:00
Rob Bradford
8bf284e713
scripts: Bump Linux version to 6.16.9
...
Signed-off-by: Rob Bradford <rbradford@rivosinc.com >
2025-11-13 14:29:26 +00:00
Rob Bradford
e023efce3d
vmm: cpu: Retry signalling the vCPU thread if it doesn't acknowledge
...
Resignal every 10ms the thread if it has not acknowledged the signal via
setting the atomic when the vCPU thread was acknowledged. Further, avoid
an infinite loop by generating an error if it takes more than 1000ms to
interrupt the thread.
The retry helps mitigate a race condition where the signal is received
between checking the pause atomic and entering KVM_RUN ioctl when
pausing. Hitting this race condition would leave the
wait_untial_signal_acknowledged() method spinning indefinitely.
The timeout error avoids the VMM process being blocked indefinitely.
See: #7427
Signed-off-by: Rob Bradford <rbradford@rivosinc.com >
2025-11-11 23:02:00 +00:00
Rob Bradford
bb7730e00f
vmm: seccomp: Use rseq syscall constant
...
Formerly these syscall's had to be specified by number as the constants
were missing in musl.
Signed-off-by: Rob Bradford <rbradford@rivosinc.com >
2025-11-11 07:30:22 +00:00
Anirudh Rayabharam
dd66eb834c
ci: dump kernel logs in MSHV workflow
...
Dump kernel logs after running the tests in the MSHV workflow to help
debug failures.
In addition to getting the kernel logs using `dmesg` also use AzCli to
retrieve the serial console logs. If the VM is hung or panicked, the
workflow would be unable to SSH into it and execute `dmesg`. In this
case the serial console logs would be helpful.
Signed-off-by: Anirudh Rayabharam <anrayabh@microsoft.com >
2025-11-08 16:06:15 +00:00
Bo Chen
9acf610a7b
build: Release v49.0
...
Signed-off-by: Bo Chen <bchen@crusoe.ai >
2025-11-08 04:05:16 +00:00
Aastha Rawat
c4cce38631
scripts: aarch64: replace guestmount for image modification
...
Replace the use of `guestmount and `guestunmount` with standard tools
(losetup, mount) to modify cloud disk image. This eliminates
dependency on guestmount which requires /dev/kvm and is not available
in MSHV root partition.
Signed-off-by: Aastha Rawat <aastharawat@microsoft.com >
2025-11-06 19:33:53 +00:00
Aastha Rawat
e302d50b09
scripts: aarch64: enable MSHV support
...
Refactor MSHV hypervisor selection logic to enable aarch64 support
instead of exiting. Use `--features mshv` to conditionally build &
test when hypervisor is mshv replacing hard exit for aarch64 on mshv.
Signed-off-by: Aastha Rawat <aastharawat@microsoft.com >
2025-11-06 19:33:53 +00:00
Eugene Korenevsky
3791062b23
block: qcow: refactor: extract method cache_l2_cluster()
...
There are several copy-pasted code fragments in impl QcowFile. All of
them add L2 entry to the cache and one of them (in file_offset_write())
does also allocating new L2 entry if necessary.
Fold all these code fragments (except of one in l2_table() which does
error handling in special way) into cache_l2_cluster() method without
changing the logic.
This will make the code more compact and clean.
Signed-off-by: Eugene Korenevsky <ekorenevsky@aliyun.com >
2025-11-05 16:58:24 +00:00
Muminul Islam
e3fa27e251
scripts: Fix issue when extra docker volumes provided
...
With the current syntax docker gives 'docker: invalid reference format'
error. Also during parsing /xxx:/yyy in process_volumes_args
with \" inside variable i.e arr_vols=("${arg_vols//#/ }")
gives wrong output.
Example:
scripts/dev_cli.sh tests --integration --volumes /mshv:/mshv
Error: The volume /mshv /mshv does not exist.
Signed-off-by: Muminul Islam <muislam@microsoft.com >
2025-11-05 10:45:24 +00:00
Rob Bradford
932e1a636a
tests: Disable integration tests that use virtio-mem on MSHV
...
These tests are now failing
See: #7456
Signed-off-by: Rob Bradford <rbradford@rivosinc.com >
2025-11-04 19:44:02 +00:00
Alyssa Ross
d59dfdf8b6
vmm: seccomp: allow http-server to use sendto
...
Fixes: https://github.com/cloud-hypervisor/cloud-hypervisor/issues/7449
Signed-off-by: Alyssa Ross <hi@alyssa.is >
2025-11-03 12:41:18 +00:00
Ariel Chenet
9158c36dbf
docs: Update documentation to reflect initial VMM output
...
The API documentation tells users to expect a message when Cloud
Hypervisor is launched, this message was removed in commit 13724db
This change updates the documentation to reflect how the program
actually functions, which is to say no message.
Signed-off-by: Ariel Chenet <achenet@fastmail.com >
2025-11-03 10:30:05 +00:00
dependabot[bot]
2a39b4a4e5
build: Bump crate-ci/typos from 1.38.1 to 1.39.0
...
Bumps [crate-ci/typos](https://github.com/crate-ci/typos ) from 1.38.1 to 1.39.0.
- [Release notes](https://github.com/crate-ci/typos/releases )
- [Changelog](https://github.com/crate-ci/typos/blob/master/CHANGELOG.md )
- [Commits](https://github.com/crate-ci/typos/compare/v1.38.1...v1.39.0 )
---
updated-dependencies:
- dependency-name: crate-ci/typos
dependency-version: 1.39.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-11-01 00:03:30 +00:00
Alyssa Ross
0395b10b29
openapi: add missing NetConfig offload parameters
...
Signed-off-by: Alyssa Ross <hi@alyssa.is >
2025-10-30 18:40:07 +00:00
Alyssa Ross
1356b26c0f
build: bump bitfield-struct from 0.11.0 to 0.12.1
...
Should fix beta clippy.
Signed-off-by: Alyssa Ross <hi@alyssa.is >
2025-10-30 00:40:50 +00:00
Philipp Schuster
7536a95424
misc: cleanup &Arc<dyn T> -> &dyn T
...
Consuming `&Arc<T>` as argument is almost always an antipattern as it
hides whether the callee is going to take over (shared) ownership
(by .clone()) or not. Instead, it is better to consume `&dyn T` or
`Arc<dyn T>` to be more explicit. This commit cleans up the code.
The change is very mechanic and was very easy to implement across the
code base.
Signed-off-by: Philipp Schuster <philipp.schuster@cyberus-technology.de >
On-behalf-of: SAP philipp.schuster@sap.com
2025-10-28 17:37:49 +00:00
Anirudh Rayabharam
e295719967
tests: disable test_snapshot_restore_hotplug_virtiomem for mshv
...
Disable test_snapshot_restore_hotplug_virtiomem for mshv. It is failing
frequently in the CI. It needs to be stabilized before enabling again.
Signed-off-by: Anirudh Rayabharam <anrayabh@microsoft.com >
2025-10-28 15:31:58 +00:00
Anirudh Rayabharam
6198fa7a79
tests: disable broken ivshmem tests for MSHV
...
The ivshmem tests involving snapshot/restore & live migration are
failing in the MSHV CI with this error:
Could not get vCPU state GetMsrEntries(
Hypercall 80 failed with 0x5 : InvalidParameter ...<snip>)
This needs more investigation. It is worth noting that the general live
migration tests are also not run in the CI for MSHV.
Disable these tests for MSHV for the time being.
Signed-off-by: Anirudh Rayabharam <anrayabh@microsoft.com >
2025-10-28 15:31:58 +00:00
Anirudh Rayabharam
f74cde7882
scripts: build mshv feature for ivshmem testing
...
The ivshmem tests are all failing in the CI for MSHV because Cloud
Hypervisor is built without the mshv feature.
Error: Cloud Hypervisor exited with the following chain of errors:
0: Failed to open hypervisor interface (is hypervisor interface
available?)
1: Failed to create the hypervisor
2: no supported hypervisor
Modify the build command to include the mshv feature.
Signed-off-by: Anirudh Rayabharam <anrayabh@microsoft.com >
2025-10-28 15:31:58 +00:00
AASTHA RAWAT
f033c5837b
ci: prevent cross-PR CI cancellation for mshv workflows
...
The existing concurrency configuration causes workflow runs for one Pull
Request to cancel in-progress runs for another Pull Request. When the
workflow is triggered by the `pull_request_target event`, `github.ref`
is always set to the base branch, regardless of which branch raised the
PR. This causes every new pull request to share the same concurrency key
and thus cancel the running CI of any other open pull request.
This commit updates the `concurrency.group` to use
`github.event.pull_request.number` for unique isolation when running on
PR, falling back to `github.ref` for non-PR push (e.g., merge group).
Signed-off-by: AASTHA RAWAT <aastharawat@microsoft.com >
2025-10-27 12:43:08 +00:00
AASTHA RAWAT
03349e7523
tests: disable skipped integration tests for mshv
...
Disable the following common parallel and common sequential tests for
mshv since these are failing consistently in the CI.
Common parallel:
- test_tpm
- test_cpu_topology_421
- test_cpu_topology_142
- test_cpu_topology_262
- test_cpu_hotplug
Common sequential:
- test_snapshot_restore_basic
- test_snapshot_restore_with_fd
- test_snapshot_restore_pvpanic
Signed-off-by: AASTHA RAWAT <aastharawat@microsoft.com >
2025-10-25 12:57:16 +01:00
AASTHA RAWAT
5d9f75ca6d
ci: remove skipped tests from integration workflow
...
Move the list of skipped tests from integration test workflow for
mshv.
Signed-off-by: AASTHA RAWAT <aastharawat@microsoft.com >
2025-10-25 12:57:16 +01:00
Anirudh Rayabharam
861b7ab64d
tests: exclude test_fw_cfg for mshv
...
test_fw_cfg is frequently failing in the CI for MSHV. Exclude it for
now. It needs further investigation. See issue #7434 for details.
Signed-off-by: Anirudh Rayabharam <anrayabh@microsoft.com >
2025-10-25 10:16:24 +00:00
dependabot[bot]
fe32002141
build: Bump actions/upload-artifact from 4 to 5
...
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact ) from 4 to 5.
- [Release notes](https://github.com/actions/upload-artifact/releases )
- [Commits](https://github.com/actions/upload-artifact/compare/v4...v5 )
---
updated-dependencies:
- dependency-name: actions/upload-artifact
dependency-version: '5'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-10-24 23:58:01 +00:00
Anirudh Rayabharam
3e339439a4
arch: move GICv2M SPI base to leave room for legacy IRQs
...
Move the GICv2M MSI frame SPI base from 32 to 128 to avoid conflicts
with platform device interrupts.
While at it, rename the constants to make it explicit that they are
associated with the GICv2m MSI Frame.
Signed-off-by: Anirudh Rayabharam <anrayabh@microsoft.com >
2025-10-24 17:11:35 +00:00
Rob Bradford
cb5aaca809
hypervisor, vmm: Remove inner Mutex protecting VcpuFd
...
This was added in 7be69edf51 to deal with
changes to the KVM bindings that made run() and set_immediate_exit()
take &mut self. Instead adopt a Box<> value in Vcpu allowing the removal
of this internal Mutex.
Signed-off-by: Rob Bradford <rbradford@rivosinc.com >
2025-10-24 13:13:12 +00:00
dependabot[bot]
0a25a77095
build: Bump crate-ci/typos from 1.38.0 to 1.38.1
...
Bumps [crate-ci/typos](https://github.com/crate-ci/typos ) from 1.38.0 to 1.38.1.
- [Release notes](https://github.com/crate-ci/typos/releases )
- [Changelog](https://github.com/crate-ci/typos/blob/master/CHANGELOG.md )
- [Commits](https://github.com/crate-ci/typos/compare/v1.38.0...v1.38.1 )
---
updated-dependencies:
- dependency-name: crate-ci/typos
dependency-version: 1.38.1
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-10-23 00:03:36 +00:00
Rob Bradford
7d6c450cee
virtio-devices: pci_common_config: Remove warning for feature pages > 2
...
The virtio spec defines the feature bit range and 4 x 32-bit pages.
However no features are currently defined with bits > 63. However Linux
has now started acking features in those higher pages. Since this is
harmless (we drop the acks to those feature pages) and quietly return 0
for available features in those higher pages this warning can be
removed.
Fixes : #7414
Signed-off-by: Rob Bradford <rbradford@rivosinc.com >
2025-10-22 08:39:56 +00:00
Philipp Schuster
d39b56544a
vmm: fix CpuManager::resume(): gracefully wait for run vCPU loop ACK
...
Fix a race condition that happens in resume()-pause() cycles.
It is odd that for pause(), the CpuManager waited via `state.paused`
for the vCPU thread to ACK the state change but not for `resume()`.
In the `resume()` case, oddly CpuManager "owned" the state change
in `state.paused`. This commit changes this so that the vCPU ACKs
its state change itself in `state.paused` when it transitions from
pause->run. Further, `CpuManager::resume()` now gracefully waits for
the vCPU to be resumed.
More technical:
This change ensures proper synchronization and prevents situations
in that park() follows right after unpark(), causing deadlocks and
other weird behavior due to race conditions.
Calling resume() now takes slightly longer, very similar to pause().
This is, however, even for 254 vCPUs in the range of less than 10ms,
and ultimately we now have correct behaviour.
## Reproducer
Since [0] is merged, the underlying problem can be tested without this
commit by modifying the pause() API call to run `CpuManager::pause()`
and `CpuManager::resume()` in a loop a thousand times.
`ch-remote --api-socket ... pause`
```patch
diff --git a/vmm/src/vm.rs b/vmm/src/vm.rs
index d7bba25cc..35557d58f 100644
--- a/vmm/src/vm.rs
+++ b/vmm/src/vm.rs
@@ -2687,6 +2687,10 @@ impl Pausable for Vm {
MigratableError::Pause(anyhow!("Error activating pending virtio devices: {:?}", e))
})?;
+ for _ in 0..1000 {
+ self.cpu_manager.lock().unwrap().pause()?;
+ self.cpu_manager.lock().unwrap().resume()?;
+ }
self.cpu_manager.lock().unwrap().pause()?;
self.device_manager.lock().unwrap().pause()?;
```
## Outlook
Decades of experience in VMM development showed us that using
many AtomicBools is a footgun. They are not synchronized with each
other at all. On the long term, we might want to refactor things to
have a single shared AtomicU64 with different bits having different
meanings.
[0] https://github.com/cloud-hypervisor/cloud-hypervisor/pull/7290
Signed-off-by: Philipp Schuster <philipp.schuster@cyberus-technology.de >
On-behalf-of: SAP philipp.schuster@sap.com
2025-10-22 07:54:08 +00:00
Philipp Schuster
8481026b60
vmm: refactor poor naming
...
These bindings actually refer to atomic bool shared across all
vCPUs to instruct single vCPUs with their next action. As there
are already enough Arc<AtomicBool>, this helps while debugging
things to see that different bindings refer to the same atomic
bool.
In other words: This naming really confused us while debugging.
Signed-off-by: Philipp Schuster <philipp.schuster@cyberus-technology.de >
On-behalf-of: SAP philipp.schuster@sap.com
2025-10-22 07:54:08 +00:00
Philipp Schuster
e6ddfe07c3
vmm: remove noop
...
The vCPU lifecycle is already complicated. Let's remove dead
code (the impl is a no-op).
Signed-off-by: Philipp Schuster <philipp.schuster@cyberus-technology.de >
On-behalf-of: SAP philipp.schuster@sap.com
2025-10-22 07:54:08 +00:00
dependabot[bot]
221cbeba5a
build: Bump fsfe/reuse-action from 5 to 6
...
Bumps [fsfe/reuse-action](https://github.com/fsfe/reuse-action ) from 5 to 6.
- [Release notes](https://github.com/fsfe/reuse-action/releases )
- [Commits](https://github.com/fsfe/reuse-action/compare/v5...v6 )
---
updated-dependencies:
- dependency-name: fsfe/reuse-action
dependency-version: '6'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-10-22 10:24:42 +01:00
Rob Bradford
99d08a2b7f
tests: Replace fixed wait for VM to boot in test_net_hotplug
...
Use the notification mechanism now that the VM has it's primary network
attached.
Signed-off-by: Rob Bradford <rbradford@rivosinc.com >
2025-10-21 23:41:37 +00:00
Rob Bradford
1b4b4fb0c2
tests: Validate secondary network connection in test_net_hotplug
...
Test that additional network interface by SSHing in using that secondary
IP.
Signed-off-by: Rob Bradford <rbradford@rivosinc.com >
2025-10-21 23:41:37 +00:00
Rob Bradford
3ed44c41a6
tests: Use a secondary network interface for test_net_hotplug
...
This gives a reliable way of identifying if the VM has booted as well as
a reliable way to validate the addition of the network interface.
Signed-off-by: Rob Bradford <rbradford@rivosinc.com >
2025-10-21 23:41:37 +00:00
Rob Bradford
11eabaf97d
tests: Add second network interface definition to guest
...
Add a second L1 network interface definition to the guest Cloud Init
configuration, including an additional host IP. Do this by splitting the
network range into two /25s. For clarity the network struct members have
also been renamed.
Signed-off-by: Rob Bradford <rbradford@rivosinc.com >
2025-10-21 23:41:37 +00:00
dependabot[bot]
4290d4f20e
build: Bump the non-rust-vmm group across 2 directories with 25 updates
...
Bumps the non-rust-vmm group with 20 updates in the / directory:
| Package | From | To |
| --- | --- | --- |
| [igvm](https://github.com/microsoft/igvm ) | ``9b67b6f`` | ``5d2b5a5`` |
| [clap](https://github.com/clap-rs/clap ) | `4.5.48` | `4.5.49` |
| [libc](https://github.com/rust-lang/libc ) | `0.2.176` | `0.2.177` |
| [gdbstub](https://github.com/daniel5151/gdbstub ) | `0.7.7` | `0.7.8` |
| [cc](https://github.com/rust-lang/cc-rs ) | `1.2.40` | `1.2.41` |
| [clap_lex](https://github.com/clap-rs/clap ) | `0.7.5` | `0.7.6` |
| [env_filter](https://github.com/rust-cli/env_logger ) | `0.1.3` | `0.1.4` |
| [regex](https://github.com/rust-lang/regex ) | `1.11.3` | `1.12.2` |
| [regex-syntax](https://github.com/rust-lang/regex ) | `0.8.6` | `0.8.8` |
| [toml_datetime](https://github.com/toml-rs/toml ) | `0.7.2` | `0.7.3` |
| [toml_edit](https://github.com/toml-rs/toml ) | `0.23.6` | `0.23.7` |
| [windows-targets](https://github.com/microsoft/windows-rs ) | `0.53.2` | `0.53.5` |
| [windows_aarch64_gnullvm](https://github.com/microsoft/windows-rs ) | `0.53.0` | `0.53.1` |
| [windows_aarch64_msvc](https://github.com/microsoft/windows-rs ) | `0.53.0` | `0.53.1` |
| [windows_i686_gnu](https://github.com/microsoft/windows-rs ) | `0.53.0` | `0.53.1` |
| [windows_i686_gnullvm](https://github.com/microsoft/windows-rs ) | `0.53.0` | `0.53.1` |
| [windows_i686_msvc](https://github.com/microsoft/windows-rs ) | `0.53.0` | `0.53.1` |
| [windows_x86_64_gnu](https://github.com/microsoft/windows-rs ) | `0.53.0` | `0.53.1` |
| [windows_x86_64_gnullvm](https://github.com/microsoft/windows-rs ) | `0.53.0` | `0.53.1` |
| [windows_x86_64_msvc](https://github.com/microsoft/windows-rs ) | `0.53.0` | `0.53.1` |
Bumps the non-rust-vmm group with 7 updates in the /fuzz directory:
| Package | From | To |
| --- | --- | --- |
| [clap](https://github.com/clap-rs/clap ) | `4.5.48` | `4.5.49` |
| [libc](https://github.com/rust-lang/libc ) | `0.2.176` | `0.2.177` |
| [gdbstub](https://github.com/daniel5151/gdbstub ) | `0.7.7` | `0.7.8` |
| [cc](https://github.com/rust-lang/cc-rs ) | `1.2.40` | `1.2.41` |
| [clap_lex](https://github.com/clap-rs/clap ) | `0.7.5` | `0.7.6` |
| [toml_datetime](https://github.com/toml-rs/toml ) | `0.7.2` | `0.7.3` |
| [toml_edit](https://github.com/toml-rs/toml ) | `0.23.6` | `0.23.7` |
Updates `igvm` from `9b67b6f` to `5d2b5a5`
- [Release notes](https://github.com/microsoft/igvm/releases )
- [Commits](9b67b6fa77...5d2b5a58e0 )
Updates `igvm_defs` from `9b67b6f` to `5d2b5a5`
- [Release notes](https://github.com/microsoft/igvm/releases )
- [Commits](9b67b6fa77...5d2b5a58e0 )
Updates `clap` from 4.5.48 to 4.5.49
- [Release notes](https://github.com/clap-rs/clap/releases )
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md )
- [Commits](https://github.com/clap-rs/clap/compare/clap_complete-v4.5.48...clap_complete-v4.5.49 )
Updates `libc` from 0.2.176 to 0.2.177
- [Release notes](https://github.com/rust-lang/libc/releases )
- [Changelog](https://github.com/rust-lang/libc/blob/0.2.177/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/libc/compare/0.2.176...0.2.177 )
Updates `gdbstub` from 0.7.7 to 0.7.8
- [Release notes](https://github.com/daniel5151/gdbstub/releases )
- [Changelog](https://github.com/daniel5151/gdbstub/blob/master/CHANGELOG.md )
- [Commits](https://github.com/daniel5151/gdbstub/compare/0.7.7...0.7.8 )
Updates `cc` from 1.2.40 to 1.2.41
- [Release notes](https://github.com/rust-lang/cc-rs/releases )
- [Changelog](https://github.com/rust-lang/cc-rs/blob/main/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/cc-rs/compare/cc-v1.2.40...cc-v1.2.41 )
Updates `clap_builder` from 4.5.48 to 4.5.49
- [Release notes](https://github.com/clap-rs/clap/releases )
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md )
- [Commits](https://github.com/clap-rs/clap/compare/v4.5.48...v4.5.49 )
Updates `clap_lex` from 0.7.5 to 0.7.6
- [Release notes](https://github.com/clap-rs/clap/releases )
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md )
- [Commits](https://github.com/clap-rs/clap/compare/clap_lex-v0.7.5...clap_lex-v0.7.6 )
Updates `env_filter` from 0.1.3 to 0.1.4
- [Release notes](https://github.com/rust-cli/env_logger/releases )
- [Changelog](https://github.com/rust-cli/env_logger/blob/main/CHANGELOG.md )
- [Commits](https://github.com/rust-cli/env_logger/compare/env_filter-v0.1.3...env_filter-v0.1.4 )
Updates `find-msvc-tools` from 0.1.3 to 0.1.4
- [Release notes](https://github.com/rust-lang/cc-rs/releases )
- [Changelog](https://github.com/rust-lang/cc-rs/blob/main/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/cc-rs/compare/find-msvc-tools-v0.1.3...find-msvc-tools-v0.1.4 )
Updates `regex` from 1.11.3 to 1.12.2
- [Release notes](https://github.com/rust-lang/regex/releases )
- [Changelog](https://github.com/rust-lang/regex/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/regex/compare/1.11.3...1.12.2 )
Updates `regex-automata` from 0.4.11 to 0.4.13
- [Release notes](https://github.com/rust-lang/regex/releases )
- [Changelog](https://github.com/rust-lang/regex/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/regex/compare/regex-automata-0.4.11...regex-automata-0.4.13 )
Updates `regex-syntax` from 0.8.6 to 0.8.8
- [Release notes](https://github.com/rust-lang/regex/releases )
- [Changelog](https://github.com/rust-lang/regex/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/regex/compare/regex-syntax-0.8.6...regex-syntax-0.8.8 )
Updates `toml_datetime` from 0.7.2 to 0.7.3
- [Commits](https://github.com/toml-rs/toml/compare/toml_datetime-v0.7.2...toml_datetime-v0.7.3 )
Updates `toml_edit` from 0.23.6 to 0.23.7
- [Commits](https://github.com/toml-rs/toml/compare/v0.23.6...v0.23.7 )
Updates `toml_parser` from 1.0.3 to 1.0.4
- [Commits](https://github.com/toml-rs/toml/compare/toml_parser-v1.0.3...toml_parser-v1.0.4 )
Updates `windows-targets` from 0.53.2 to 0.53.5
- [Release notes](https://github.com/microsoft/windows-rs/releases )
- [Commits](https://github.com/microsoft/windows-rs/commits )
Updates `windows_aarch64_gnullvm` from 0.53.0 to 0.53.1
- [Release notes](https://github.com/microsoft/windows-rs/releases )
- [Commits](https://github.com/microsoft/windows-rs/commits )
Updates `windows_aarch64_msvc` from 0.53.0 to 0.53.1
- [Release notes](https://github.com/microsoft/windows-rs/releases )
- [Commits](https://github.com/microsoft/windows-rs/commits )
Updates `windows_i686_gnu` from 0.53.0 to 0.53.1
- [Release notes](https://github.com/microsoft/windows-rs/releases )
- [Commits](https://github.com/microsoft/windows-rs/commits )
Updates `windows_i686_gnullvm` from 0.53.0 to 0.53.1
- [Release notes](https://github.com/microsoft/windows-rs/releases )
- [Commits](https://github.com/microsoft/windows-rs/commits )
Updates `windows_i686_msvc` from 0.53.0 to 0.53.1
- [Release notes](https://github.com/microsoft/windows-rs/releases )
- [Commits](https://github.com/microsoft/windows-rs/commits )
Updates `windows_x86_64_gnu` from 0.53.0 to 0.53.1
- [Release notes](https://github.com/microsoft/windows-rs/releases )
- [Commits](https://github.com/microsoft/windows-rs/commits )
Updates `windows_x86_64_gnullvm` from 0.53.0 to 0.53.1
- [Release notes](https://github.com/microsoft/windows-rs/releases )
- [Commits](https://github.com/microsoft/windows-rs/commits )
Updates `windows_x86_64_msvc` from 0.53.0 to 0.53.1
- [Release notes](https://github.com/microsoft/windows-rs/releases )
- [Commits](https://github.com/microsoft/windows-rs/commits )
Updates `clap` from 4.5.48 to 4.5.49
- [Release notes](https://github.com/clap-rs/clap/releases )
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md )
- [Commits](https://github.com/clap-rs/clap/compare/clap_complete-v4.5.48...clap_complete-v4.5.49 )
Updates `libc` from 0.2.176 to 0.2.177
- [Release notes](https://github.com/rust-lang/libc/releases )
- [Changelog](https://github.com/rust-lang/libc/blob/0.2.177/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/libc/compare/0.2.176...0.2.177 )
Updates `gdbstub` from 0.7.7 to 0.7.8
- [Release notes](https://github.com/daniel5151/gdbstub/releases )
- [Changelog](https://github.com/daniel5151/gdbstub/blob/master/CHANGELOG.md )
- [Commits](https://github.com/daniel5151/gdbstub/compare/0.7.7...0.7.8 )
Updates `cc` from 1.2.40 to 1.2.41
- [Release notes](https://github.com/rust-lang/cc-rs/releases )
- [Changelog](https://github.com/rust-lang/cc-rs/blob/main/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/cc-rs/compare/cc-v1.2.40...cc-v1.2.41 )
Updates `clap_builder` from 4.5.48 to 4.5.49
- [Release notes](https://github.com/clap-rs/clap/releases )
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md )
- [Commits](https://github.com/clap-rs/clap/compare/v4.5.48...v4.5.49 )
Updates `clap_lex` from 0.7.5 to 0.7.6
- [Release notes](https://github.com/clap-rs/clap/releases )
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md )
- [Commits](https://github.com/clap-rs/clap/compare/clap_lex-v0.7.5...clap_lex-v0.7.6 )
Updates `find-msvc-tools` from 0.1.3 to 0.1.4
- [Release notes](https://github.com/rust-lang/cc-rs/releases )
- [Changelog](https://github.com/rust-lang/cc-rs/blob/main/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/cc-rs/compare/find-msvc-tools-v0.1.3...find-msvc-tools-v0.1.4 )
Updates `toml_datetime` from 0.7.2 to 0.7.3
- [Commits](https://github.com/toml-rs/toml/compare/toml_datetime-v0.7.2...toml_datetime-v0.7.3 )
Updates `toml_edit` from 0.23.6 to 0.23.7
- [Commits](https://github.com/toml-rs/toml/compare/v0.23.6...v0.23.7 )
Updates `toml_parser` from 1.0.3 to 1.0.4
- [Commits](https://github.com/toml-rs/toml/compare/toml_parser-v1.0.3...toml_parser-v1.0.4 )
---
updated-dependencies:
- dependency-name: igvm
dependency-version: 5d2b5a58e0b294e2adfc923ac4baddfd270eb5a8
dependency-type: direct:production
dependency-group: non-rust-vmm
- dependency-name: igvm_defs
dependency-version: 5d2b5a58e0b294e2adfc923ac4baddfd270eb5a8
dependency-type: direct:production
dependency-group: non-rust-vmm
- dependency-name: clap
dependency-version: 4.5.49
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: libc
dependency-version: 0.2.177
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: gdbstub
dependency-version: 0.7.8
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: cc
dependency-version: 1.2.41
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: clap_builder
dependency-version: 4.5.49
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: clap_lex
dependency-version: 0.7.6
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: env_filter
dependency-version: 0.1.4
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: find-msvc-tools
dependency-version: 0.1.4
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: regex
dependency-version: 1.12.2
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: regex-automata
dependency-version: 0.4.13
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: regex-syntax
dependency-version: 0.8.8
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: toml_datetime
dependency-version: 0.7.3
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: toml_edit
dependency-version: 0.23.7
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: toml_parser
dependency-version: 1.0.4
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: windows-targets
dependency-version: 0.53.5
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: windows_aarch64_gnullvm
dependency-version: 0.53.1
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: windows_aarch64_msvc
dependency-version: 0.53.1
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: windows_i686_gnu
dependency-version: 0.53.1
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: windows_i686_gnullvm
dependency-version: 0.53.1
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: windows_i686_msvc
dependency-version: 0.53.1
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: windows_x86_64_gnu
dependency-version: 0.53.1
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: windows_x86_64_gnullvm
dependency-version: 0.53.1
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: windows_x86_64_msvc
dependency-version: 0.53.1
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: clap
dependency-version: 4.5.49
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: libc
dependency-version: 0.2.177
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: gdbstub
dependency-version: 0.7.8
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: cc
dependency-version: 1.2.41
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: clap_builder
dependency-version: 4.5.49
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: clap_lex
dependency-version: 0.7.6
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: find-msvc-tools
dependency-version: 0.1.4
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: toml_datetime
dependency-version: 0.7.3
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: toml_edit
dependency-version: 0.23.7
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: toml_parser
dependency-version: 1.0.4
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-10-21 09:20:56 +00:00
Ruoqing He
a8335d0b06
ci: Extend typos to accept MSIS
...
Previous RISC-V ACPI related change introduced MSIS which will be
rejected by typo check, let's extend the typos to accept it.
Signed-off-by: Ruoqing He <heruoqing@iscas.ac.cn >
2025-10-21 07:57:28 +01:00
Can Zhang
d10f6dd357
vmm: Enable RISC-V ACPI support
...
Add necessary definitions and RISC-V ACPI tables to enable ACPI feature.
More specifically, this commit add MADT definitions for RISC-V AIA
interrupt chips.
Signed-off-by: Can Zhang <icloud9957@gmail.com >
2025-10-18 08:30:18 +00:00
Anirudh Rayabharam
4dcd689cd9
ci: update MSHV workflow & job names
...
Rename the MSHV CI workflow to better align with the existing naming
scheme and also make the arch explicit.
Signed-off-by: Anirudh Rayabharam <anrayabh@microsoft.com >
2025-10-17 10:54:41 +00:00
AASTHA RAWAT
68f9e82447
ci: set continue-on-error for mshv infra workflow
...
Set `continue-on-error` for infra-setup job so that the entire workflow
doesn't fail.
Signed-off-by: AASTHA RAWAT <aastharawat@microsoft.com >
2025-10-14 15:00:30 +00:00
AASTHA RAWAT
f256317ac6
ci: add timeout to mshv integration test workflow
...
Add step-level timeout for running integration tests so that the
workflow doesn't get stuck on any test.
Signed-off-by: AASTHA RAWAT <aastharawat@microsoft.com >
2025-10-14 15:00:30 +00:00
Ruoqing He
0a785c1db2
build: Use v0.3.0 of vm-fdt instead of main branch
...
We are actually using v0.3.0 of vm-fdt since main branch of that crate
already includes everything. Let's pin vm-fdt to v0.3.0 instead.
Signed-off-by: Ruoqing He <heruoqing@iscas.ac.cn >
2025-10-14 09:05:47 +00:00
Ruoqing He
d3b8300e9c
build: Update linux-loader to v0.13.1
...
Required kernel header are made public in v0.13.1, let's bump to consume
the change.
Signed-off-by: Ruoqing He <heruoqing@iscas.ac.cn >
2025-10-14 09:05:47 +00:00
AASTHA RAWAT
bb9d3529db
ci: update PR trigger for mshv workflow
...
Pull requests from forked repos cannot access GitHub secrets which
results in failure of MSHV CI. Switching to pull_request_target
resolves this. It allows the workflow to run with access to repo secrets
and ensures that code from the base branch is used instead of forked
code, preventing potential security risks.
Signed-off-by: AASTHA RAWAT <aastharawat@microsoft.com >
2025-10-11 08:41:23 +00:00
AASTHA RAWAT
3cf310229c
ci: add tag for mshv runner
...
Use mshv runner for mshv workflows. Disable manual trigger.
Signed-off-by: AASTHA RAWAT <aastharawat@microsoft.com >
2025-10-11 08:41:23 +00:00
AASTHA RAWAT
0e50cc320e
ci: add mshv integration tests workflow
...
Add workflow to run integration tests on mshv. It calls the azure
infra setup workflow and executes integration tests in the
provisioned environment.
Signed-off-by: AASTHA RAWAT <aastharawat@microsoft.com >
2025-10-11 08:41:23 +00:00
AASTHA RAWAT
9cdcd920b2
ci: add azure infra setup workflow
...
Add workflow to setup Azure infra to validate MSHV.
This is used to provision the environment before executing tests
on it.
Signed-off-by: AASTHA RAWAT <aastharawat@microsoft.com >
2025-10-11 08:41:23 +00:00
Bo Chen
256f0c39e9
vmm: Drop 'vfio container' when no active vfio devices
...
This provides clearer life-cycle management of resources around vfio,
and aligns better with the kernel behavior as reported below with vfio
legacy mode (with vfio container/group).
Fixes : #7328
Signed-off-by: Bo Chen <bchen@crusoe.ai >
Signed-off-by: Yi Wang <foxywang@tencent.com >
2025-10-09 23:59:37 +00:00
Bo Chen
205e62aaa8
scripts: Download jammy images for rate-limiter tests
...
We recently moved many of our tests to use focal to jammy as the guest
images, including rate-limiter tests (#7367 ). We forgot to update the
rate-limiter scripts to reflect such change.
Our CI pipeline failed to report such error because our self-host runner
happened to be not working at the time we land the changes (see #7405 ).
Signed-off-by: Bo Chen <bchen@crusoe.ai >
2025-10-09 22:49:12 +00:00
Rob Bradford
d760301c8d
tests: Reduce parallelism on x86-64 testing
...
Only use 75% of the available threads - this will reduce dislk and
memory pressure. Reducing the chance of flaky tests.
See: #7405
Signed-off-by: Rob Bradford <rbradford@rivosinc.com >
2025-10-09 11:02:49 +00:00
Muminul Islam
8e40413886
vmm: validate payload correctly when IGVM is provided
...
While an IGVM is provided validation fails as there is
no kernel or firmware. This patch fixes the sev_snp boot
failure.
Signed-off-by: Muminul Islam <muislam@microsoft.com >
2025-10-09 08:29:07 +01:00
Anirudh Rayabharam
5549d846da
vmm: support firmware boot on mshv arm64
...
MSHV (Microsoft Hypervisor) doesn't expose an ITS to guests. Instead it
exposes a GICv2m MSI Frame for mapping MSIs to SPIs.
Update the MADT generation code to create the GIC MSI Frame structure
instead of the ITS structure whenever the guest vGIC is using a GICv2m
frame. This allows booting guests via firmware on MSHV.
Signed-off-by: Anirudh Rayabharam <anrayabh@microsoft.com >
2025-10-07 21:34:03 +00:00
Philipp Schuster
76bd1418a2
api_client: fix clippy
...
Signed-off-by: Philipp Schuster <philipp.schuster@cyberus-technology.de >
On-behalf-of: SAP philipp.schuster@sap.com
2025-10-07 16:13:31 +00:00
dependabot[bot]
15db321245
build: Bump the non-rust-vmm group across 2 directories with 20 updates
...
Bumps the non-rust-vmm group with 8 updates in the / directory:
| Package | From | To |
| --- | --- | --- |
| [serde_with](https://github.com/jonasbb/serde_with ) | `3.14.1` | `3.15.0` |
| [anstream](https://github.com/rust-cli/anstyle ) | `0.6.20` | `0.6.21` |
| [cc](https://github.com/rust-lang/cc-rs ) | `1.2.39` | `1.2.40` |
| [lock_api](https://github.com/Amanieu/parking_lot ) | `0.4.13` | `0.4.14` |
| [openssl-src](https://github.com/alexcrichton/openssl-src-rs ) | `300.5.2+3.5.2` | `300.5.3+3.5.4` |
| [parking_lot](https://github.com/Amanieu/parking_lot ) | `0.12.4` | `0.12.5` |
| redox_syscall | `0.5.17` | `0.5.18` |
| [windows-link](https://github.com/microsoft/windows-rs ) | `0.2.0` | `0.2.1` |
Bumps the non-rust-vmm group with 14 updates in the /fuzz directory:
| Package | From | To |
| --- | --- | --- |
| [serde_with](https://github.com/jonasbb/serde_with ) | `3.14.1` | `3.15.0` |
| [anstream](https://github.com/rust-cli/anstyle ) | `0.6.20` | `0.6.21` |
| [cc](https://github.com/rust-lang/cc-rs ) | `1.2.39` | `1.2.40` |
| [lock_api](https://github.com/Amanieu/parking_lot ) | `0.4.13` | `0.4.14` |
| [windows-link](https://github.com/microsoft/windows-rs ) | `0.2.0` | `0.2.1` |
| [windows-targets](https://github.com/microsoft/windows-rs ) | `0.53.4` | `0.53.5` |
| [windows_aarch64_gnullvm](https://github.com/microsoft/windows-rs ) | `0.53.0` | `0.53.1` |
| [windows_aarch64_msvc](https://github.com/microsoft/windows-rs ) | `0.53.0` | `0.53.1` |
| [windows_i686_gnu](https://github.com/microsoft/windows-rs ) | `0.53.0` | `0.53.1` |
| [windows_i686_gnullvm](https://github.com/microsoft/windows-rs ) | `0.53.0` | `0.53.1` |
| [windows_i686_msvc](https://github.com/microsoft/windows-rs ) | `0.53.0` | `0.53.1` |
| [windows_x86_64_gnu](https://github.com/microsoft/windows-rs ) | `0.53.0` | `0.53.1` |
| [windows_x86_64_gnullvm](https://github.com/microsoft/windows-rs ) | `0.53.0` | `0.53.1` |
| [windows_x86_64_msvc](https://github.com/microsoft/windows-rs ) | `0.53.0` | `0.53.1` |
Updates `serde_with` from 3.14.1 to 3.15.0
- [Release notes](https://github.com/jonasbb/serde_with/releases )
- [Commits](https://github.com/jonasbb/serde_with/compare/v3.14.1...v3.15.0 )
Updates `anstream` from 0.6.20 to 0.6.21
- [Commits](https://github.com/rust-cli/anstyle/compare/anstream-v0.6.20...anstream-v0.6.21 )
Updates `cc` from 1.2.39 to 1.2.40
- [Release notes](https://github.com/rust-lang/cc-rs/releases )
- [Changelog](https://github.com/rust-lang/cc-rs/blob/main/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/cc-rs/compare/cc-v1.2.39...cc-v1.2.40 )
Updates `find-msvc-tools` from 0.1.2 to 0.1.3
- [Release notes](https://github.com/rust-lang/cc-rs/releases )
- [Changelog](https://github.com/rust-lang/cc-rs/blob/main/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/cc-rs/compare/find-msvc-tools-v0.1.2...find-msvc-tools-v0.1.3 )
Updates `lock_api` from 0.4.13 to 0.4.14
- [Release notes](https://github.com/Amanieu/parking_lot/releases )
- [Changelog](https://github.com/Amanieu/parking_lot/blob/master/CHANGELOG.md )
- [Commits](https://github.com/Amanieu/parking_lot/compare/lock_api-v0.4.13...lock_api-v0.4.14 )
Updates `openssl-src` from 300.5.2+3.5.2 to 300.5.3+3.5.4
- [Release notes](https://github.com/alexcrichton/openssl-src-rs/releases )
- [Commits](https://github.com/alexcrichton/openssl-src-rs/commits )
Updates `parking_lot` from 0.12.4 to 0.12.5
- [Release notes](https://github.com/Amanieu/parking_lot/releases )
- [Changelog](https://github.com/Amanieu/parking_lot/blob/master/CHANGELOG.md )
- [Commits](https://github.com/Amanieu/parking_lot/compare/parking_lot-v0.12.4...parking_lot-v0.12.5 )
Updates `parking_lot_core` from 0.9.11 to 0.9.12
- [Release notes](https://github.com/Amanieu/parking_lot/releases )
- [Changelog](https://github.com/Amanieu/parking_lot/blob/master/CHANGELOG.md )
- [Commits](https://github.com/Amanieu/parking_lot/compare/parking_lot_core-v0.9.11...parking_lot_core-v0.9.12 )
Updates `redox_syscall` from 0.5.17 to 0.5.18
Updates `serde_with_macros` from 3.14.1 to 3.15.0
- [Release notes](https://github.com/jonasbb/serde_with/releases )
- [Commits](https://github.com/jonasbb/serde_with/compare/v3.14.1...v3.15.0 )
Updates `windows-link` from 0.2.0 to 0.2.1
- [Release notes](https://github.com/microsoft/windows-rs/releases )
- [Commits](https://github.com/microsoft/windows-rs/commits )
Updates `windows-targets` from 0.52.6 to 0.53.2
- [Release notes](https://github.com/microsoft/windows-rs/releases )
- [Commits](https://github.com/microsoft/windows-rs/commits )
Updates `windows_aarch64_gnullvm` from 0.52.6 to 0.53.0
- [Release notes](https://github.com/microsoft/windows-rs/releases )
- [Commits](https://github.com/microsoft/windows-rs/commits )
Updates `windows_aarch64_msvc` from 0.52.6 to 0.53.0
- [Release notes](https://github.com/microsoft/windows-rs/releases )
- [Commits](https://github.com/microsoft/windows-rs/commits )
Updates `windows_i686_gnu` from 0.52.6 to 0.53.0
- [Release notes](https://github.com/microsoft/windows-rs/releases )
- [Commits](https://github.com/microsoft/windows-rs/commits )
Updates `windows_i686_gnullvm` from 0.52.6 to 0.53.0
- [Release notes](https://github.com/microsoft/windows-rs/releases )
- [Commits](https://github.com/microsoft/windows-rs/commits )
Updates `windows_i686_msvc` from 0.52.6 to 0.53.0
- [Release notes](https://github.com/microsoft/windows-rs/releases )
- [Commits](https://github.com/microsoft/windows-rs/commits )
Updates `windows_x86_64_gnu` from 0.52.6 to 0.53.0
- [Release notes](https://github.com/microsoft/windows-rs/releases )
- [Commits](https://github.com/microsoft/windows-rs/commits )
Updates `windows_x86_64_gnullvm` from 0.52.6 to 0.53.0
- [Release notes](https://github.com/microsoft/windows-rs/releases )
- [Commits](https://github.com/microsoft/windows-rs/commits )
Updates `windows_x86_64_msvc` from 0.52.6 to 0.53.0
- [Release notes](https://github.com/microsoft/windows-rs/releases )
- [Commits](https://github.com/microsoft/windows-rs/commits )
Updates `serde_with` from 3.14.1 to 3.15.0
- [Release notes](https://github.com/jonasbb/serde_with/releases )
- [Commits](https://github.com/jonasbb/serde_with/compare/v3.14.1...v3.15.0 )
Updates `anstream` from 0.6.20 to 0.6.21
- [Commits](https://github.com/rust-cli/anstyle/compare/anstream-v0.6.20...anstream-v0.6.21 )
Updates `cc` from 1.2.39 to 1.2.40
- [Release notes](https://github.com/rust-lang/cc-rs/releases )
- [Changelog](https://github.com/rust-lang/cc-rs/blob/main/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/cc-rs/compare/cc-v1.2.39...cc-v1.2.40 )
Updates `find-msvc-tools` from 0.1.2 to 0.1.3
- [Release notes](https://github.com/rust-lang/cc-rs/releases )
- [Changelog](https://github.com/rust-lang/cc-rs/blob/main/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/cc-rs/compare/find-msvc-tools-v0.1.2...find-msvc-tools-v0.1.3 )
Updates `lock_api` from 0.4.13 to 0.4.14
- [Release notes](https://github.com/Amanieu/parking_lot/releases )
- [Changelog](https://github.com/Amanieu/parking_lot/blob/master/CHANGELOG.md )
- [Commits](https://github.com/Amanieu/parking_lot/compare/lock_api-v0.4.13...lock_api-v0.4.14 )
Updates `serde_with_macros` from 3.14.1 to 3.15.0
- [Release notes](https://github.com/jonasbb/serde_with/releases )
- [Commits](https://github.com/jonasbb/serde_with/compare/v3.14.1...v3.15.0 )
Updates `windows-link` from 0.2.0 to 0.2.1
- [Release notes](https://github.com/microsoft/windows-rs/releases )
- [Commits](https://github.com/microsoft/windows-rs/commits )
Updates `windows-targets` from 0.53.4 to 0.53.5
- [Release notes](https://github.com/microsoft/windows-rs/releases )
- [Commits](https://github.com/microsoft/windows-rs/commits )
Updates `windows_aarch64_gnullvm` from 0.53.0 to 0.53.1
- [Release notes](https://github.com/microsoft/windows-rs/releases )
- [Commits](https://github.com/microsoft/windows-rs/commits )
Updates `windows_aarch64_msvc` from 0.53.0 to 0.53.1
- [Release notes](https://github.com/microsoft/windows-rs/releases )
- [Commits](https://github.com/microsoft/windows-rs/commits )
Updates `windows_i686_gnu` from 0.53.0 to 0.53.1
- [Release notes](https://github.com/microsoft/windows-rs/releases )
- [Commits](https://github.com/microsoft/windows-rs/commits )
Updates `windows_i686_gnullvm` from 0.53.0 to 0.53.1
- [Release notes](https://github.com/microsoft/windows-rs/releases )
- [Commits](https://github.com/microsoft/windows-rs/commits )
Updates `windows_i686_msvc` from 0.53.0 to 0.53.1
- [Release notes](https://github.com/microsoft/windows-rs/releases )
- [Commits](https://github.com/microsoft/windows-rs/commits )
Updates `windows_x86_64_gnu` from 0.53.0 to 0.53.1
- [Release notes](https://github.com/microsoft/windows-rs/releases )
- [Commits](https://github.com/microsoft/windows-rs/commits )
Updates `windows_x86_64_gnullvm` from 0.53.0 to 0.53.1
- [Release notes](https://github.com/microsoft/windows-rs/releases )
- [Commits](https://github.com/microsoft/windows-rs/commits )
Updates `windows_x86_64_msvc` from 0.53.0 to 0.53.1
- [Release notes](https://github.com/microsoft/windows-rs/releases )
- [Commits](https://github.com/microsoft/windows-rs/commits )
---
updated-dependencies:
- dependency-name: serde_with
dependency-version: 3.15.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: anstream
dependency-version: 0.6.21
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: cc
dependency-version: 1.2.40
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: find-msvc-tools
dependency-version: 0.1.3
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: lock_api
dependency-version: 0.4.14
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: openssl-src
dependency-version: 300.5.3+3.5.4
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: parking_lot
dependency-version: 0.12.5
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: parking_lot_core
dependency-version: 0.9.12
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: redox_syscall
dependency-version: 0.5.18
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: serde_with_macros
dependency-version: 3.15.0
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: windows-link
dependency-version: 0.2.1
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: windows-targets
dependency-version: 0.53.2
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: windows_aarch64_gnullvm
dependency-version: 0.53.0
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: windows_aarch64_msvc
dependency-version: 0.53.0
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: windows_i686_gnu
dependency-version: 0.53.0
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: windows_i686_gnullvm
dependency-version: 0.53.0
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: windows_i686_msvc
dependency-version: 0.53.0
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: windows_x86_64_gnu
dependency-version: 0.53.0
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: windows_x86_64_gnullvm
dependency-version: 0.53.0
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: windows_x86_64_msvc
dependency-version: 0.53.0
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: serde_with
dependency-version: 3.15.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: anstream
dependency-version: 0.6.21
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: cc
dependency-version: 1.2.40
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: find-msvc-tools
dependency-version: 0.1.3
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: lock_api
dependency-version: 0.4.14
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: serde_with_macros
dependency-version: 3.15.0
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: windows-link
dependency-version: 0.2.1
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: windows-targets
dependency-version: 0.53.5
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: windows_aarch64_gnullvm
dependency-version: 0.53.1
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: windows_aarch64_msvc
dependency-version: 0.53.1
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: windows_i686_gnu
dependency-version: 0.53.1
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: windows_i686_gnullvm
dependency-version: 0.53.1
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: windows_i686_msvc
dependency-version: 0.53.1
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: windows_x86_64_gnu
dependency-version: 0.53.1
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: windows_x86_64_gnullvm
dependency-version: 0.53.1
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: windows_x86_64_msvc
dependency-version: 0.53.1
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-10-07 00:50:02 +00:00
dependabot[bot]
15ca4751b7
build: Bump crate-ci/typos from 1.37.1 to 1.38.0
...
Bumps [crate-ci/typos](https://github.com/crate-ci/typos ) from 1.37.1 to 1.38.0.
- [Release notes](https://github.com/crate-ci/typos/releases )
- [Changelog](https://github.com/crate-ci/typos/blob/master/CHANGELOG.md )
- [Commits](https://github.com/crate-ci/typos/compare/v1.37.1...v1.38.0 )
---
updated-dependencies:
- dependency-name: crate-ci/typos
dependency-version: 1.38.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-10-07 00:18:43 +00:00
Rob Bradford
017a366a6e
tests: First pass at replacing focal images with jammy
...
Signed-off-by: Rob Bradford <rbradford@rivosinc.com >
2025-10-02 07:02:27 +00:00
Rob Bradford
4e008e2dbc
tests: Reduce use of focal/jammy variable names
...
In preparation for removing focal support - start by using a more
generic "disk_config" variable name for the DiskConfig struct vs
embedding the image type.
Signed-off-by: Rob Bradford <rbradford@rivosinc.com >
2025-10-02 07:02:27 +00:00
dependabot[bot]
7eb5a6cd70
build: Bump crate-ci/typos from 1.37.0 to 1.37.1
...
Bumps [crate-ci/typos](https://github.com/crate-ci/typos ) from 1.37.0 to 1.37.1.
- [Release notes](https://github.com/crate-ci/typos/releases )
- [Changelog](https://github.com/crate-ci/typos/blob/master/CHANGELOG.md )
- [Commits](https://github.com/crate-ci/typos/compare/v1.37.0...v1.37.1 )
---
updated-dependencies:
- dependency-name: crate-ci/typos
dependency-version: 1.37.1
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-10-02 00:11:14 +00:00
Rob Bradford
4961b93e69
tests: Fix typo/grammar in live migration tests
...
Signed-off-by: Rob Bradford <rbradford@rivosinc.com >
2025-10-01 08:57:57 +01:00
dependabot[bot]
44f187715f
build: Bump crate-ci/typos from 1.36.3 to 1.37.0
...
Bumps [crate-ci/typos](https://github.com/crate-ci/typos ) from 1.36.3 to 1.37.0.
- [Release notes](https://github.com/crate-ci/typos/releases )
- [Changelog](https://github.com/crate-ci/typos/blob/master/CHANGELOG.md )
- [Commits](https://github.com/crate-ci/typos/compare/v1.36.3...v1.37.0 )
---
updated-dependencies:
- dependency-name: crate-ci/typos
dependency-version: 1.37.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-10-01 00:10:44 +00:00
dependabot[bot]
39e540ebb1
build: Bump the non-rust-vmm group across 2 directories with 20 updates
...
Bumps the non-rust-vmm group with 12 updates in the / directory:
| Package | From | To |
| --- | --- | --- |
| [serde](https://github.com/serde-rs/serde ) | `1.0.226` | `1.0.228` |
| [libc](https://github.com/rust-lang/libc ) | `0.2.175` | `0.2.176` |
| [thiserror](https://github.com/dtolnay/thiserror ) | `2.0.16` | `2.0.17` |
| [anstyle](https://github.com/rust-cli/anstyle ) | `1.0.11` | `1.0.13` |
| [async-channel](https://github.com/smol-rs/async-channel ) | `2.3.1` | `2.5.0` |
| [backtrace](https://github.com/rust-lang/backtrace-rs ) | `0.3.75` | `0.3.76` |
| [cc](https://github.com/rust-lang/cc-rs ) | `1.2.38` | `1.2.39` |
| [hashbrown](https://github.com/rust-lang/hashbrown ) | `0.15.5` | `0.16.0` |
| [memchr](https://github.com/BurntSushi/memchr ) | `2.7.5` | `2.7.6` |
| [quote](https://github.com/dtolnay/quote ) | `1.0.40` | `1.0.41` |
| [regex](https://github.com/rust-lang/regex ) | `1.11.2` | `1.11.3` |
| [rustix](https://github.com/bytecodealliance/rustix ) | `1.0.7` | `1.1.2` |
Bumps the non-rust-vmm group with 8 updates in the /fuzz directory:
| Package | From | To |
| --- | --- | --- |
| [serde](https://github.com/serde-rs/serde ) | `1.0.226` | `1.0.228` |
| [libc](https://github.com/rust-lang/libc ) | `0.2.175` | `0.2.176` |
| [thiserror](https://github.com/dtolnay/thiserror ) | `2.0.16` | `2.0.17` |
| [anstyle](https://github.com/rust-cli/anstyle ) | `1.0.11` | `1.0.13` |
| [cc](https://github.com/rust-lang/cc-rs ) | `1.2.38` | `1.2.39` |
| [memchr](https://github.com/BurntSushi/memchr ) | `2.7.5` | `2.7.6` |
| [quote](https://github.com/dtolnay/quote ) | `1.0.40` | `1.0.41` |
| [windows-targets](https://github.com/microsoft/windows-rs ) | `0.53.3` | `0.53.4` |
Updates `serde` from 1.0.226 to 1.0.228
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.226...v1.0.228 )
Updates `libc` from 0.2.175 to 0.2.176
- [Release notes](https://github.com/rust-lang/libc/releases )
- [Changelog](https://github.com/rust-lang/libc/blob/0.2.176/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/libc/compare/0.2.175...0.2.176 )
Updates `thiserror` from 2.0.16 to 2.0.17
- [Release notes](https://github.com/dtolnay/thiserror/releases )
- [Commits](https://github.com/dtolnay/thiserror/compare/2.0.16...2.0.17 )
Updates `anstyle` from 1.0.11 to 1.0.13
- [Commits](https://github.com/rust-cli/anstyle/compare/v1.0.11...v1.0.13 )
Updates `async-channel` from 2.3.1 to 2.5.0
- [Release notes](https://github.com/smol-rs/async-channel/releases )
- [Changelog](https://github.com/smol-rs/async-channel/blob/master/CHANGELOG.md )
- [Commits](https://github.com/smol-rs/async-channel/compare/v2.3.1...v2.5.0 )
Updates `backtrace` from 0.3.75 to 0.3.76
- [Release notes](https://github.com/rust-lang/backtrace-rs/releases )
- [Changelog](https://github.com/rust-lang/backtrace-rs/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/backtrace-rs/compare/0.3.75...backtrace-v0.3.76 )
Updates `cc` from 1.2.38 to 1.2.39
- [Release notes](https://github.com/rust-lang/cc-rs/releases )
- [Changelog](https://github.com/rust-lang/cc-rs/blob/main/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/cc-rs/compare/cc-v1.2.38...cc-v1.2.39 )
Updates `gimli` from 0.31.1 to 0.32.3
- [Changelog](https://github.com/gimli-rs/gimli/blob/master/CHANGELOG.md )
- [Commits](https://github.com/gimli-rs/gimli/compare/0.31.1...0.32.3 )
Updates `hashbrown` from 0.15.5 to 0.16.0
- [Release notes](https://github.com/rust-lang/hashbrown/releases )
- [Changelog](https://github.com/rust-lang/hashbrown/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/hashbrown/compare/v0.15.5...v0.16.0 )
Updates `memchr` from 2.7.5 to 2.7.6
- [Commits](https://github.com/BurntSushi/memchr/compare/2.7.5...2.7.6 )
Updates `object` from 0.36.7 to 0.37.3
- [Changelog](https://github.com/gimli-rs/object/blob/master/CHANGELOG.md )
- [Commits](https://github.com/gimli-rs/object/compare/0.36.7...0.37.3 )
Updates `quote` from 1.0.40 to 1.0.41
- [Release notes](https://github.com/dtolnay/quote/releases )
- [Commits](https://github.com/dtolnay/quote/compare/1.0.40...1.0.41 )
Updates `regex` from 1.11.2 to 1.11.3
- [Release notes](https://github.com/rust-lang/regex/releases )
- [Changelog](https://github.com/rust-lang/regex/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/regex/compare/1.11.2...1.11.3 )
Updates `regex-automata` from 0.4.10 to 0.4.11
- [Release notes](https://github.com/rust-lang/regex/releases )
- [Changelog](https://github.com/rust-lang/regex/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/regex/commits )
Updates `rustix` from 1.0.7 to 1.1.2
- [Release notes](https://github.com/bytecodealliance/rustix/releases )
- [Changelog](https://github.com/bytecodealliance/rustix/blob/main/CHANGES.md )
- [Commits](https://github.com/bytecodealliance/rustix/compare/v1.0.7...v1.1.2 )
Updates `serde_core` from 1.0.226 to 1.0.228
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.226...v1.0.228 )
Updates `serde_derive` from 1.0.226 to 1.0.228
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.226...v1.0.228 )
Updates `windows-sys` from 0.59.0 to 0.60.2
- [Release notes](https://github.com/microsoft/windows-rs/releases )
- [Commits](https://github.com/microsoft/windows-rs/commits )
Updates `serde` from 1.0.226 to 1.0.228
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.226...v1.0.228 )
Updates `libc` from 0.2.175 to 0.2.176
- [Release notes](https://github.com/rust-lang/libc/releases )
- [Changelog](https://github.com/rust-lang/libc/blob/0.2.176/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/libc/compare/0.2.175...0.2.176 )
Updates `thiserror` from 2.0.16 to 2.0.17
- [Release notes](https://github.com/dtolnay/thiserror/releases )
- [Commits](https://github.com/dtolnay/thiserror/compare/2.0.16...2.0.17 )
Updates `bitfield-struct` from 0.10.1 to 0.11.0
- [Release notes](https://github.com/wrenger/bitfield-struct-rs/releases )
- [Commits](https://github.com/wrenger/bitfield-struct-rs/compare/0.10.1...0.11.0 )
Updates `anstyle` from 1.0.11 to 1.0.13
- [Commits](https://github.com/rust-cli/anstyle/compare/v1.0.11...v1.0.13 )
Updates `cc` from 1.2.38 to 1.2.39
- [Release notes](https://github.com/rust-lang/cc-rs/releases )
- [Changelog](https://github.com/rust-lang/cc-rs/blob/main/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/cc-rs/compare/cc-v1.2.38...cc-v1.2.39 )
Updates `memchr` from 2.7.5 to 2.7.6
- [Commits](https://github.com/BurntSushi/memchr/compare/2.7.5...2.7.6 )
Updates `quote` from 1.0.40 to 1.0.41
- [Release notes](https://github.com/dtolnay/quote/releases )
- [Commits](https://github.com/dtolnay/quote/compare/1.0.40...1.0.41 )
Updates `serde_core` from 1.0.226 to 1.0.228
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.226...v1.0.228 )
Updates `serde_derive` from 1.0.226 to 1.0.228
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.226...v1.0.228 )
Updates `windows-targets` from 0.53.3 to 0.53.4
- [Release notes](https://github.com/microsoft/windows-rs/releases )
- [Commits](https://github.com/microsoft/windows-rs/commits )
---
updated-dependencies:
- dependency-name: serde
dependency-version: 1.0.228
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: libc
dependency-version: 0.2.176
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: thiserror
dependency-version: 2.0.17
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: anstyle
dependency-version: 1.0.13
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: async-channel
dependency-version: 2.5.0
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: backtrace
dependency-version: 0.3.76
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: cc
dependency-version: 1.2.39
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: gimli
dependency-version: 0.32.3
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: hashbrown
dependency-version: 0.16.0
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: memchr
dependency-version: 2.7.6
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: object
dependency-version: 0.37.3
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: quote
dependency-version: 1.0.41
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: regex
dependency-version: 1.11.3
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: regex-automata
dependency-version: 0.4.11
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: rustix
dependency-version: 1.1.2
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: serde_core
dependency-version: 1.0.228
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: serde_derive
dependency-version: 1.0.228
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: windows-sys
dependency-version: 0.60.2
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: serde
dependency-version: 1.0.228
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: libc
dependency-version: 0.2.176
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: thiserror
dependency-version: 2.0.17
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: bitfield-struct
dependency-version: 0.11.0
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: anstyle
dependency-version: 1.0.13
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: cc
dependency-version: 1.2.39
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: memchr
dependency-version: 2.7.6
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: quote
dependency-version: 1.0.41
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: serde_core
dependency-version: 1.0.228
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: serde_derive
dependency-version: 1.0.228
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: windows-targets
dependency-version: 0.53.4
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-09-30 03:05:01 +00:00
Philipp Schuster
690741de13
hypervisor: kvm/x86_64: get and set nested guest state
...
Since the functionality of [0] was backported to
kvm-bindings@v0.12 .1 and kvm-ioctls@v0.22 .1 [1, 2], we
can now save nested KVM state. This way, nesting works across
state save/resume and live-migration.
[0] https://github.com/rust-vmm/kvm/pull/322
[1] https://github.com/rust-vmm/kvm/pull/349
[2] https://github.com/rust-vmm/kvm/pull/350
Signed-off-by: Philipp Schuster <philipp.schuster@cyberus-technology.de >
On-behalf-of: SAP philipp.schuster@sap.com
2025-09-29 11:44:36 +00:00
Oliver Anderson
4c16285dde
vmm: Fix UB in AMX support checks
...
Rust's aliasing rules do not permit mutating a `usize` through a shared
reference. Unsafe blocks and FFI are no exception.
This PR fixes such a violation detected in the AMX support checks by
passing a raw mutable pointer instead of a shared reference in the
syscall.
Signed-off-by: Oliver Anderson <oliver.anderson@cyberus-technology.de >
On-behalf-of: SAP <oliver.anderson@sap.com >
2025-09-26 15:10:21 +00:00
dependabot[bot]
bb713e8c01
build: Bump crate-ci/typos from 1.36.2 to 1.36.3
...
Bumps [crate-ci/typos](https://github.com/crate-ci/typos ) from 1.36.2 to 1.36.3.
- [Release notes](https://github.com/crate-ci/typos/releases )
- [Changelog](https://github.com/crate-ci/typos/blob/master/CHANGELOG.md )
- [Commits](https://github.com/crate-ci/typos/compare/v1.36.2...v1.36.3 )
---
updated-dependencies:
- dependency-name: crate-ci/typos
dependency-version: 1.36.3
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-09-26 07:49:10 +00:00
Philipp Schuster
a6426e3615
devices: gracefully close preserved FDs on device remove
...
For a graceful resource management of externally provided FDs in Cloud
Hypervisor, corresponding FDs need to be closed on a device removal.
This is the case for virtio-net devices using external FDs, for example.
With the fix introduced in this commit, we allow management software to
properly clean up resources, e.g., libvirt can clean up tap devices.
PS: CHV uses "added" and "removed", which has the same meaning as
hot device attach/hotplug and hot device detach/unplug.
Signed-off-by: Philipp Schuster <philipp.schuster@cyberus-technology.de >
On-behalf-of: SAP philipp.schuster@sap.com
2025-09-25 21:25:36 +00:00
Philipp Schuster
f1206a19df
block: fix error style
...
Signed-off-by: Philipp Schuster <philipp.schuster@cyberus-technology.de >
On-behalf-of: SAP philipp.schuster@sap.com
2025-09-25 21:17:06 +00:00
Ruoqing He
f2dfa7f6e0
misc: Use variables directly in format! string
...
Fix clippy warning `uninlined_format_args` reported by rustc rustc
1.89.0 (29483883e 2025-08-04).
```console
warning: variables can be used directly in the `format!` string
--> block/src/lib.rs:649:17
|
649 | info!("{} failed to create io_uring instance: {}", error_msg, e);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#uninlined_format_args
= note: `#[warn(clippy::uninlined_format_args)]` on by default
help: change this to
|
649 - info!("{} failed to create io_uring instance: {}", error_msg, e);
649 + info!("{error_msg} failed to create io_uring instance: {e}");
|
```
Signed-off-by: Ruoqing He <heruoqing@iscas.ac.cn >
2025-09-24 02:28:12 +00:00
dependabot[bot]
ea83fe314c
build: Bump the non-rust-vmm group across 2 directories with 107 updates
...
Bumps the non-rust-vmm group with 57 updates in the / directory:
| Package | From | To |
| --- | --- | --- |
| [zbus](https://github.com/dbus2/zbus ) | `5.7.1` | `5.11.0` |
| [serde](https://github.com/serde-rs/serde ) | `1.0.208` | `1.0.226` |
| [serde_json](https://github.com/serde-rs/json ) | `1.0.143` | `1.0.145` |
| [serde_with](https://github.com/jonasbb/serde_with ) | `3.14.0` | `3.14.1` |
| [anyhow](https://github.com/dtolnay/anyhow ) | `1.0.99` | `1.0.100` |
| [cfg-if](https://github.com/rust-lang/cfg-if ) | `1.0.0` | `1.0.3` |
| [clap](https://github.com/clap-rs/clap ) | `4.5.47` | `4.5.48` |
| [log](https://github.com/rust-lang/log ) | `0.4.22` | `0.4.28` |
| [thiserror](https://github.com/dtolnay/thiserror ) | `2.0.12` | `2.0.16` |
| [zerocopy](https://github.com/google/zerocopy ) | `0.8.26` | `0.8.27` |
| [bitfield-struct](https://github.com/wrenger/bitfield-struct-rs ) | `0.10.1` | `0.11.0` |
| [num_enum](https://github.com/illicitonion/num_enum ) | `0.7.3` | `0.7.4` |
| [blocking](https://github.com/smol-rs/blocking ) | `1.6.1` | `1.6.2` |
| [gdbstub](https://github.com/daniel5151/gdbstub ) | `0.7.6` | `0.7.7` |
| [micro_http](https://github.com/firecracker-microvm/micro-http ) | ``bf50989`` | ``3248cee`` |
| [anstream](https://github.com/rust-cli/anstyle ) | `0.6.19` | `0.6.20` |
| [anstyle-query](https://github.com/rust-cli/anstyle ) | `1.1.2` | `1.1.4` |
| [anstyle-wincon](https://github.com/rust-cli/anstyle ) | `3.0.6` | `3.0.10` |
| [async-broadcast](https://github.com/smol-rs/async-broadcast ) | `0.7.1` | `0.7.2` |
| [async-executor](https://github.com/smol-rs/async-executor ) | `1.13.1` | `1.13.3` |
| [async-io](https://github.com/smol-rs/async-io ) | `2.5.0` | `2.6.0` |
| [async-lock](https://github.com/smol-rs/async-lock ) | `3.4.0` | `3.4.1` |
| [async-signal](https://github.com/smol-rs/async-signal ) | `0.2.12` | `0.2.13` |
| [bumpalo](https://github.com/fitzgen/bumpalo ) | `3.16.0` | `3.19.0` |
| [cc](https://github.com/rust-lang/cc-rs ) | `1.2.34` | `1.2.38` |
| [clap_lex](https://github.com/clap-rs/clap ) | `0.7.4` | `0.7.5` |
| [colorchoice](https://github.com/rust-cli/anstyle ) | `1.0.3` | `1.0.4` |
| [crc32fast](https://github.com/srijs/rust-crc32fast ) | `1.4.2` | `1.5.0` |
| [env_filter](https://github.com/rust-cli/env_logger ) | `0.1.2` | `0.1.3` |
| [errno](https://github.com/lambda-fairy/rust-errno ) | `0.3.13` | `0.3.14` |
| [event-listener-strategy](https://github.com/smol-rs/event-listener-strategy ) | `0.5.3` | `0.5.4` |
| [futures-lite](https://github.com/smol-rs/futures-lite ) | `2.6.0` | `2.6.1` |
| [glob](https://github.com/rust-lang/glob ) | `0.3.2` | `0.3.3` |
| [hashbrown](https://github.com/rust-lang/hashbrown ) | `0.15.4` | `0.15.5` |
| [indexmap](https://github.com/indexmap-rs/indexmap ) | `2.8.0` | `2.11.4` |
| libredox | `0.1.3` | `0.1.10` |
| [libz-sys](https://github.com/rust-lang/libz-sys ) | `1.1.18` | `1.1.22` |
| [lock_api](https://github.com/Amanieu/parking_lot ) | `0.4.12` | `0.4.13` |
| [memchr](https://github.com/BurntSushi/memchr ) | `2.7.2` | `2.7.5` |
| [once_cell](https://github.com/matklad/once_cell ) | `1.20.2` | `1.21.3` |
| [openssl-src](https://github.com/alexcrichton/openssl-src-rs ) | `300.3.2+3.3.2` | `300.5.2+3.5.2` |
| [openssl-sys](https://github.com/sfackler/rust-openssl ) | `0.9.104` | `0.9.109` |
| [parking_lot](https://github.com/Amanieu/parking_lot ) | `0.12.1` | `0.12.4` |
| [pin-project-lite](https://github.com/taiki-e/pin-project-lite ) | `0.2.15` | `0.2.16` |
| [pkg-config](https://github.com/rust-lang/pkg-config-rs ) | `0.3.31` | `0.3.32` |
| [polling](https://github.com/smol-rs/polling ) | `3.6.0` | `3.11.0` |
| [ppv-lite86](https://github.com/cryptocorrosion/cryptocorrosion ) | `0.2.20` | `0.2.21` |
| [proc-macro-crate](https://github.com/bkchr/proc-macro-crate ) | `3.3.0` | `3.4.0` |
| [regex](https://github.com/rust-lang/regex ) | `1.11.1` | `1.11.2` |
| [regex-automata](https://github.com/rust-lang/regex ) | `0.4.9` | `0.4.10` |
| [regex-syntax](https://github.com/rust-lang/regex ) | `0.8.5` | `0.8.6` |
| [serde_repr](https://github.com/dtolnay/serde-repr ) | `0.1.19` | `0.1.20` |
| [tempfile](https://github.com/Stebalien/tempfile ) | `3.12.0` | `3.23.0` |
| [tracing](https://github.com/tokio-rs/tracing ) | `0.1.40` | `0.1.41` |
| [unicode-ident](https://github.com/dtolnay/unicode-ident ) | `1.0.18` | `1.0.19` |
| [wasi](https://github.com/bytecodealliance/wasi-rs ) | `0.11.0+wasi-snapshot-preview1` | `0.11.1+wasi-snapshot-preview1` |
| [zvariant_utils](https://github.com/dbus2/zbus ) | `3.2.0` | `3.2.1` |
Bumps the non-rust-vmm group with 44 updates in the /fuzz directory:
| Package | From | To |
| --- | --- | --- |
| [serde](https://github.com/serde-rs/serde ) | `1.0.208` | `1.0.226` |
| [serde_json](https://github.com/serde-rs/json ) | `1.0.143` | `1.0.145` |
| [serde_with](https://github.com/jonasbb/serde_with ) | `3.14.0` | `3.14.1` |
| [cfg-if](https://github.com/rust-lang/cfg-if ) | `1.0.0` | `1.0.3` |
| [clap](https://github.com/clap-rs/clap ) | `4.5.47` | `4.5.48` |
| [log](https://github.com/rust-lang/log ) | `0.4.22` | `0.4.28` |
| [thiserror](https://github.com/dtolnay/thiserror ) | `2.0.12` | `2.0.16` |
| [zerocopy](https://github.com/google/zerocopy ) | `0.8.26` | `0.8.27` |
| [num_enum](https://github.com/illicitonion/num_enum ) | `0.7.2` | `0.7.4` |
| [getrandom](https://github.com/rust-random/getrandom ) | `0.2.15` | `0.2.16` |
| [gdbstub](https://github.com/daniel5151/gdbstub ) | `0.7.6` | `0.7.7` |
| [micro_http](https://github.com/firecracker-microvm/micro-http ) | ``bf50989`` | ``3248cee`` |
| [anstream](https://github.com/rust-cli/anstyle ) | `0.6.15` | `0.6.20` |
| [anstyle](https://github.com/rust-cli/anstyle ) | `1.0.8` | `1.0.11` |
| [anstyle-parse](https://github.com/rust-cli/anstyle ) | `0.2.5` | `0.2.7` |
| [anstyle-query](https://github.com/rust-cli/anstyle ) | `1.1.1` | `1.1.4` |
| [autocfg](https://github.com/cuviper/autocfg ) | `1.3.0` | `1.5.0` |
| [bumpalo](https://github.com/fitzgen/bumpalo ) | `3.16.0` | `3.19.0` |
| [cc](https://github.com/rust-lang/cc-rs ) | `1.1.11` | `1.2.38` |
| [colorchoice](https://github.com/rust-cli/anstyle ) | `1.0.2` | `1.0.4` |
| [enumflags2](https://github.com/meithecatte/enumflags2 ) | `0.7.10` | `0.7.12` |
| [equivalent](https://github.com/indexmap-rs/equivalent ) | `1.0.1` | `1.0.2` |
| [futures-core](https://github.com/rust-lang/futures-rs ) | `0.3.30` | `0.3.31` |
| [futures-sink](https://github.com/rust-lang/futures-rs ) | `0.3.30` | `0.3.31` |
| [indexmap](https://github.com/indexmap-rs/indexmap ) | `2.5.0` | `2.11.4` |
| [itoa](https://github.com/dtolnay/itoa ) | `1.0.11` | `1.0.15` |
| [lock_api](https://github.com/Amanieu/parking_lot ) | `0.4.12` | `0.4.13` |
| [memchr](https://github.com/BurntSushi/memchr ) | `2.7.4` | `2.7.5` |
| [once_cell](https://github.com/matklad/once_cell ) | `1.20.2` | `1.21.3` |
| [ppv-lite86](https://github.com/cryptocorrosion/cryptocorrosion ) | `0.2.20` | `0.2.21` |
| [proc-macro-crate](https://github.com/bkchr/proc-macro-crate ) | `3.2.0` | `3.4.0` |
| [proc-macro2](https://github.com/dtolnay/proc-macro2 ) | `1.0.92` | `1.0.101` |
| [quote](https://github.com/dtolnay/quote ) | `1.0.37` | `1.0.40` |
| [r-efi](https://github.com/r-efi/r-efi ) | `5.2.0` | `5.3.0` |
| [rand](https://github.com/rust-random/rand ) | `0.9.0` | `0.9.2` |
| [rustversion](https://github.com/dtolnay/rustversion ) | `1.0.21` | `1.0.22` |
| [ryu](https://github.com/dtolnay/ryu ) | `1.0.18` | `1.0.20` |
| [signal-hook-registry](https://github.com/vorner/signal-hook ) | `1.4.2` | `1.4.6` |
| [syn](https://github.com/dtolnay/syn ) | `2.0.95` | `2.0.106` |
| [unicode-ident](https://github.com/dtolnay/unicode-ident ) | `1.0.13` | `1.0.19` |
| [wasi](https://github.com/bytecodealliance/wasi-rs ) | `0.11.0+wasi-snapshot-preview1` | `0.11.1+wasi-snapshot-preview1` |
| [arbitrary](https://github.com/rust-fuzz/arbitrary ) | `1.4.1` | `1.4.2` |
| [libfuzzer-sys](https://github.com/rust-fuzz/libfuzzer ) | `0.4.7` | `0.4.10` |
| [jobserver](https://github.com/rust-lang/jobserver-rs ) | `0.1.32` | `0.1.34` |
Updates `zbus` from 5.7.1 to 5.11.0
- [Release notes](https://github.com/dbus2/zbus/releases )
- [Commits](https://github.com/dbus2/zbus/compare/zbus-5.7.1...zbus-5.11.0 )
Updates `serde` from 1.0.208 to 1.0.226
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.208...v1.0.226 )
Updates `serde_json` from 1.0.143 to 1.0.145
- [Release notes](https://github.com/serde-rs/json/releases )
- [Commits](https://github.com/serde-rs/json/compare/v1.0.143...v1.0.145 )
Updates `serde_with` from 3.14.0 to 3.14.1
- [Release notes](https://github.com/jonasbb/serde_with/releases )
- [Commits](https://github.com/jonasbb/serde_with/compare/v3.14.0...v3.14.1 )
Updates `anyhow` from 1.0.99 to 1.0.100
- [Release notes](https://github.com/dtolnay/anyhow/releases )
- [Commits](https://github.com/dtolnay/anyhow/compare/1.0.99...1.0.100 )
Updates `cfg-if` from 1.0.0 to 1.0.3
- [Release notes](https://github.com/rust-lang/cfg-if/releases )
- [Changelog](https://github.com/rust-lang/cfg-if/blob/main/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/cfg-if/compare/1.0.0...v1.0.3 )
Updates `clap` from 4.5.47 to 4.5.48
- [Release notes](https://github.com/clap-rs/clap/releases )
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md )
- [Commits](https://github.com/clap-rs/clap/compare/clap_complete-v4.5.47...clap_complete-v4.5.48 )
Updates `log` from 0.4.22 to 0.4.28
- [Release notes](https://github.com/rust-lang/log/releases )
- [Changelog](https://github.com/rust-lang/log/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/log/compare/0.4.22...0.4.28 )
Updates `thiserror` from 2.0.12 to 2.0.16
- [Release notes](https://github.com/dtolnay/thiserror/releases )
- [Commits](https://github.com/dtolnay/thiserror/compare/2.0.12...2.0.16 )
Updates `zerocopy` from 0.8.26 to 0.8.27
- [Release notes](https://github.com/google/zerocopy/releases )
- [Changelog](https://github.com/google/zerocopy/blob/main/CHANGELOG.md )
- [Commits](https://github.com/google/zerocopy/compare/v0.8.26...v0.8.27 )
Updates `bitfield-struct` from 0.10.1 to 0.11.0
- [Release notes](https://github.com/wrenger/bitfield-struct-rs/releases )
- [Commits](https://github.com/wrenger/bitfield-struct-rs/compare/0.10.1...0.11.0 )
Updates `num_enum` from 0.7.3 to 0.7.4
- [Commits](https://github.com/illicitonion/num_enum/compare/0.7.3...0.7.4 )
Updates `blocking` from 1.6.1 to 1.6.2
- [Release notes](https://github.com/smol-rs/blocking/releases )
- [Changelog](https://github.com/smol-rs/blocking/blob/master/CHANGELOG.md )
- [Commits](https://github.com/smol-rs/blocking/compare/v1.6.1...v1.6.2 )
Updates `gdbstub` from 0.7.6 to 0.7.7
- [Release notes](https://github.com/daniel5151/gdbstub/releases )
- [Changelog](https://github.com/daniel5151/gdbstub/blob/master/CHANGELOG.md )
- [Commits](https://github.com/daniel5151/gdbstub/compare/0.7.6...0.7.7 )
Updates `micro_http` from `bf50989` to `3248cee`
- [Commits](bf50989160...3248ceeae4 )
Updates `anstream` from 0.6.19 to 0.6.20
- [Commits](https://github.com/rust-cli/anstyle/compare/anstream-v0.6.19...anstream-v0.6.20 )
Updates `anstyle-query` from 1.1.2 to 1.1.4
- [Commits](https://github.com/rust-cli/anstyle/compare/anstyle-query-v1.1.2...anstyle-query-v1.1.4 )
Updates `anstyle-wincon` from 3.0.6 to 3.0.10
- [Commits](https://github.com/rust-cli/anstyle/compare/anstyle-wincon-v3.0.6...anstyle-wincon-v3.0.10 )
Updates `async-broadcast` from 0.7.1 to 0.7.2
- [Release notes](https://github.com/smol-rs/async-broadcast/releases )
- [Changelog](https://github.com/smol-rs/async-broadcast/blob/master/CHANGELOG.md )
- [Commits](https://github.com/smol-rs/async-broadcast/compare/0.7.1...0.7.2 )
Updates `async-executor` from 1.13.1 to 1.13.3
- [Release notes](https://github.com/smol-rs/async-executor/releases )
- [Changelog](https://github.com/smol-rs/async-executor/blob/master/CHANGELOG.md )
- [Commits](https://github.com/smol-rs/async-executor/compare/v1.13.1...v1.13.3 )
Updates `async-io` from 2.5.0 to 2.6.0
- [Release notes](https://github.com/smol-rs/async-io/releases )
- [Changelog](https://github.com/smol-rs/async-io/blob/master/CHANGELOG.md )
- [Commits](https://github.com/smol-rs/async-io/compare/v2.5.0...v2.6.0 )
Updates `async-lock` from 3.4.0 to 3.4.1
- [Release notes](https://github.com/smol-rs/async-lock/releases )
- [Changelog](https://github.com/smol-rs/async-lock/blob/master/CHANGELOG.md )
- [Commits](https://github.com/smol-rs/async-lock/compare/v3.4.0...v3.4.1 )
Updates `async-signal` from 0.2.12 to 0.2.13
- [Release notes](https://github.com/smol-rs/async-signal/releases )
- [Changelog](https://github.com/smol-rs/async-signal/blob/master/CHANGELOG.md )
- [Commits](https://github.com/smol-rs/async-signal/compare/v0.2.12...v0.2.13 )
Updates `bumpalo` from 3.16.0 to 3.19.0
- [Changelog](https://github.com/fitzgen/bumpalo/blob/main/CHANGELOG.md )
- [Commits](https://github.com/fitzgen/bumpalo/commits )
Updates `cc` from 1.2.34 to 1.2.38
- [Release notes](https://github.com/rust-lang/cc-rs/releases )
- [Changelog](https://github.com/rust-lang/cc-rs/blob/main/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/cc-rs/compare/cc-v1.2.34...cc-v1.2.38 )
Updates `clap_builder` from 4.5.47 to 4.5.48
- [Release notes](https://github.com/clap-rs/clap/releases )
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md )
- [Commits](https://github.com/clap-rs/clap/compare/v4.5.47...v4.5.48 )
Updates `clap_lex` from 0.7.4 to 0.7.5
- [Release notes](https://github.com/clap-rs/clap/releases )
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md )
- [Commits](https://github.com/clap-rs/clap/compare/clap_lex-v0.7.4...clap_lex-v0.7.5 )
Updates `colorchoice` from 1.0.3 to 1.0.4
- [Commits](https://github.com/rust-cli/anstyle/compare/colorchoice-v1.0.3...colorchoice-v1.0.4 )
Updates `crc32fast` from 1.4.2 to 1.5.0
- [Commits](https://github.com/srijs/rust-crc32fast/compare/v1.4.2...v1.5.0 )
Updates `darling` from 0.20.10 to 0.21.3
- [Release notes](https://github.com/TedDriggs/darling/releases )
- [Changelog](https://github.com/TedDriggs/darling/blob/master/CHANGELOG.md )
- [Commits](https://github.com/TedDriggs/darling/compare/v0.20.10...v0.21.3 )
Updates `darling_core` from 0.20.10 to 0.21.3
- [Release notes](https://github.com/TedDriggs/darling/releases )
- [Changelog](https://github.com/TedDriggs/darling/blob/master/CHANGELOG.md )
- [Commits](https://github.com/TedDriggs/darling/compare/v0.20.10...v0.21.3 )
Updates `darling_macro` from 0.20.10 to 0.21.3
- [Release notes](https://github.com/TedDriggs/darling/releases )
- [Changelog](https://github.com/TedDriggs/darling/blob/master/CHANGELOG.md )
- [Commits](https://github.com/TedDriggs/darling/compare/v0.20.10...v0.21.3 )
Updates `env_filter` from 0.1.2 to 0.1.3
- [Release notes](https://github.com/rust-cli/env_logger/releases )
- [Changelog](https://github.com/rust-cli/env_logger/blob/main/CHANGELOG.md )
- [Commits](https://github.com/rust-cli/env_logger/compare/env_filter-v0.1.2...env_filter-v0.1.3 )
Updates `errno` from 0.3.13 to 0.3.14
- [Release notes](https://github.com/lambda-fairy/rust-errno/releases )
- [Changelog](https://github.com/lambda-fairy/rust-errno/blob/main/CHANGELOG.md )
- [Commits](https://github.com/lambda-fairy/rust-errno/commits )
Updates `event-listener-strategy` from 0.5.3 to 0.5.4
- [Release notes](https://github.com/smol-rs/event-listener-strategy/releases )
- [Changelog](https://github.com/smol-rs/event-listener-strategy/blob/main/CHANGELOG.md )
- [Commits](https://github.com/smol-rs/event-listener-strategy/compare/v0.5.3...v0.5.4 )
Updates `futures-lite` from 2.6.0 to 2.6.1
- [Release notes](https://github.com/smol-rs/futures-lite/releases )
- [Changelog](https://github.com/smol-rs/futures-lite/blob/master/CHANGELOG.md )
- [Commits](https://github.com/smol-rs/futures-lite/compare/v2.6.0...v2.6.1 )
Updates `glob` from 0.3.2 to 0.3.3
- [Release notes](https://github.com/rust-lang/glob/releases )
- [Changelog](https://github.com/rust-lang/glob/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/glob/compare/v0.3.2...v0.3.3 )
Updates `hashbrown` from 0.15.4 to 0.15.5
- [Release notes](https://github.com/rust-lang/hashbrown/releases )
- [Changelog](https://github.com/rust-lang/hashbrown/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/hashbrown/compare/v0.15.4...v0.15.5 )
Updates `indexmap` from 2.8.0 to 2.11.4
- [Changelog](https://github.com/indexmap-rs/indexmap/blob/main/RELEASES.md )
- [Commits](https://github.com/indexmap-rs/indexmap/compare/2.8.0...2.11.4 )
Updates `libredox` from 0.1.3 to 0.1.10
Updates `libz-sys` from 1.1.18 to 1.1.22
- [Release notes](https://github.com/rust-lang/libz-sys/releases )
- [Commits](https://github.com/rust-lang/libz-sys/compare/1.1.18...1.1.22 )
Updates `lock_api` from 0.4.12 to 0.4.13
- [Release notes](https://github.com/Amanieu/parking_lot/releases )
- [Changelog](https://github.com/Amanieu/parking_lot/blob/master/CHANGELOG.md )
- [Commits](https://github.com/Amanieu/parking_lot/compare/lock_api-0.4.12...lock_api-v0.4.13 )
Updates `memchr` from 2.7.2 to 2.7.5
- [Commits](https://github.com/BurntSushi/memchr/compare/2.7.2...2.7.5 )
Updates `num_enum_derive` from 0.7.3 to 0.7.4
- [Commits](https://github.com/illicitonion/num_enum/compare/0.7.3...0.7.4 )
Updates `once_cell` from 1.20.2 to 1.21.3
- [Changelog](https://github.com/matklad/once_cell/blob/master/CHANGELOG.md )
- [Commits](https://github.com/matklad/once_cell/compare/v1.20.2...v1.21.3 )
Updates `openssl-src` from 300.3.2+3.3.2 to 300.5.2+3.5.2
- [Release notes](https://github.com/alexcrichton/openssl-src-rs/releases )
- [Commits](https://github.com/alexcrichton/openssl-src-rs/commits )
Updates `openssl-sys` from 0.9.104 to 0.9.109
- [Release notes](https://github.com/sfackler/rust-openssl/releases )
- [Commits](https://github.com/sfackler/rust-openssl/compare/openssl-sys-v0.9.104...openssl-sys-v0.9.109 )
Updates `parking_lot` from 0.12.1 to 0.12.4
- [Release notes](https://github.com/Amanieu/parking_lot/releases )
- [Changelog](https://github.com/Amanieu/parking_lot/blob/master/CHANGELOG.md )
- [Commits](https://github.com/Amanieu/parking_lot/compare/0.12.1...parking_lot-v0.12.4 )
Updates `parking_lot_core` from 0.9.9 to 0.9.11
- [Release notes](https://github.com/Amanieu/parking_lot/releases )
- [Changelog](https://github.com/Amanieu/parking_lot/blob/master/CHANGELOG.md )
- [Commits](https://github.com/Amanieu/parking_lot/compare/core-0.9.9...parking_lot_core-v0.9.11 )
Updates `pin-project-lite` from 0.2.15 to 0.2.16
- [Release notes](https://github.com/taiki-e/pin-project-lite/releases )
- [Changelog](https://github.com/taiki-e/pin-project-lite/blob/main/CHANGELOG.md )
- [Commits](https://github.com/taiki-e/pin-project-lite/compare/v0.2.15...v0.2.16 )
Updates `pkg-config` from 0.3.31 to 0.3.32
- [Changelog](https://github.com/rust-lang/pkg-config-rs/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/pkg-config-rs/compare/0.3.31...0.3.32 )
Updates `polling` from 3.6.0 to 3.11.0
- [Release notes](https://github.com/smol-rs/polling/releases )
- [Changelog](https://github.com/smol-rs/polling/blob/master/CHANGELOG.md )
- [Commits](https://github.com/smol-rs/polling/compare/v3.6.0...v3.11.0 )
Updates `ppv-lite86` from 0.2.20 to 0.2.21
- [Commits](https://github.com/cryptocorrosion/cryptocorrosion/commits/ppv-lite86-0.2.21 )
Updates `proc-macro-crate` from 3.3.0 to 3.4.0
- [Release notes](https://github.com/bkchr/proc-macro-crate/releases )
- [Commits](https://github.com/bkchr/proc-macro-crate/compare/v3.3.0...v3.4.0 )
Updates `redox_syscall` from 0.4.1 to 0.5.17
Updates `regex` from 1.11.1 to 1.11.2
- [Release notes](https://github.com/rust-lang/regex/releases )
- [Changelog](https://github.com/rust-lang/regex/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/regex/compare/1.11.1...1.11.2 )
Updates `regex-automata` from 0.4.9 to 0.4.10
- [Release notes](https://github.com/rust-lang/regex/releases )
- [Changelog](https://github.com/rust-lang/regex/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/regex/compare/regex-automata-0.4.9...regex-automata-0.4.10 )
Updates `regex-syntax` from 0.8.5 to 0.8.6
- [Release notes](https://github.com/rust-lang/regex/releases )
- [Changelog](https://github.com/rust-lang/regex/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/regex/compare/regex-syntax-0.8.5...regex-syntax-0.8.6 )
Updates `serde_derive` from 1.0.208 to 1.0.226
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.208...v1.0.226 )
Updates `serde_repr` from 0.1.19 to 0.1.20
- [Release notes](https://github.com/dtolnay/serde-repr/releases )
- [Commits](https://github.com/dtolnay/serde-repr/compare/0.1.19...0.1.20 )
Updates `serde_with_macros` from 3.14.0 to 3.14.1
- [Release notes](https://github.com/jonasbb/serde_with/releases )
- [Commits](https://github.com/jonasbb/serde_with/compare/v3.14.0...v3.14.1 )
Updates `tempfile` from 3.12.0 to 3.23.0
- [Changelog](https://github.com/Stebalien/tempfile/blob/master/CHANGELOG.md )
- [Commits](https://github.com/Stebalien/tempfile/compare/v3.12.0...v3.23.0 )
Updates `toml_datetime` from 0.6.11 to 0.7.2
- [Commits](https://github.com/toml-rs/toml/compare/toml_datetime-v0.6.11...toml_datetime-v0.7.2 )
Updates `toml_edit` from 0.22.24 to 0.23.6
- [Commits](https://github.com/toml-rs/toml/compare/v0.22.24...v0.23.6 )
Updates `tracing` from 0.1.40 to 0.1.41
- [Release notes](https://github.com/tokio-rs/tracing/releases )
- [Commits](https://github.com/tokio-rs/tracing/compare/tracing-0.1.40...tracing-0.1.41 )
Updates `tracing-attributes` from 0.1.27 to 0.1.30
- [Release notes](https://github.com/tokio-rs/tracing/releases )
- [Commits](https://github.com/tokio-rs/tracing/compare/tracing-attributes-0.1.27...tracing-attributes-0.1.30 )
Updates `tracing-core` from 0.1.32 to 0.1.34
- [Release notes](https://github.com/tokio-rs/tracing/releases )
- [Commits](https://github.com/tokio-rs/tracing/compare/tracing-core-0.1.32...tracing-core-0.1.34 )
Updates `unicode-ident` from 1.0.18 to 1.0.19
- [Release notes](https://github.com/dtolnay/unicode-ident/releases )
- [Commits](https://github.com/dtolnay/unicode-ident/compare/1.0.18...1.0.19 )
Updates `wasi` from 0.11.0+wasi-snapshot-preview1 to 0.11.1+wasi-snapshot-preview1
- [Commits](https://github.com/bytecodealliance/wasi-rs/compare/0.11.0...0.11.1 )
Updates `windows-sys` from 0.52.0 to 0.59.0
- [Release notes](https://github.com/microsoft/windows-rs/releases )
- [Commits](https://github.com/microsoft/windows-rs/compare/0.52.0...0.59.0 )
Updates `windows-targets` from 0.48.5 to 0.52.6
- [Release notes](https://github.com/microsoft/windows-rs/releases )
- [Commits](https://github.com/microsoft/windows-rs/commits )
Updates `windows_aarch64_gnullvm` from 0.48.5 to 0.52.6
- [Release notes](https://github.com/microsoft/windows-rs/releases )
- [Commits](https://github.com/microsoft/windows-rs/commits )
Updates `windows_aarch64_msvc` from 0.48.5 to 0.52.6
- [Release notes](https://github.com/microsoft/windows-rs/releases )
- [Commits](https://github.com/microsoft/windows-rs/commits )
Updates `windows_i686_gnu` from 0.48.5 to 0.52.6
- [Release notes](https://github.com/microsoft/windows-rs/releases )
- [Commits](https://github.com/microsoft/windows-rs/commits )
Updates `windows_i686_msvc` from 0.48.5 to 0.52.6
- [Release notes](https://github.com/microsoft/windows-rs/releases )
- [Commits](https://github.com/microsoft/windows-rs/commits )
Updates `windows_x86_64_gnu` from 0.48.5 to 0.52.6
- [Release notes](https://github.com/microsoft/windows-rs/releases )
- [Commits](https://github.com/microsoft/windows-rs/commits )
Updates `windows_x86_64_gnullvm` from 0.48.5 to 0.52.6
- [Release notes](https://github.com/microsoft/windows-rs/releases )
- [Commits](https://github.com/microsoft/windows-rs/commits )
Updates `windows_x86_64_msvc` from 0.48.5 to 0.52.6
- [Release notes](https://github.com/microsoft/windows-rs/releases )
- [Commits](https://github.com/microsoft/windows-rs/commits )
Updates `winnow` from 0.7.2 to 0.7.13
- [Changelog](https://github.com/winnow-rs/winnow/blob/main/CHANGELOG.md )
- [Commits](https://github.com/winnow-rs/winnow/compare/v0.7.2...v0.7.13 )
Updates `zbus_macros` from 5.7.1 to 5.11.0
- [Release notes](https://github.com/dbus2/zbus/releases )
- [Commits](https://github.com/dbus2/zbus/compare/zbus-5.7.1...zbus-5.11.0 )
Updates `zerocopy-derive` from 0.7.35 to 0.8.27
- [Release notes](https://github.com/google/zerocopy/releases )
- [Changelog](https://github.com/google/zerocopy/blob/main/CHANGELOG.md )
- [Commits](https://github.com/google/zerocopy/compare/v0.7.35...v0.8.27 )
Updates `zvariant_utils` from 3.2.0 to 3.2.1
- [Release notes](https://github.com/dbus2/zbus/releases )
- [Commits](https://github.com/dbus2/zbus/compare/zvariant_utils-3.2.0...zvariant-3.2.1 )
Updates `serde` from 1.0.208 to 1.0.226
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.208...v1.0.226 )
Updates `serde_json` from 1.0.143 to 1.0.145
- [Release notes](https://github.com/serde-rs/json/releases )
- [Commits](https://github.com/serde-rs/json/compare/v1.0.143...v1.0.145 )
Updates `serde_with` from 3.14.0 to 3.14.1
- [Release notes](https://github.com/jonasbb/serde_with/releases )
- [Commits](https://github.com/jonasbb/serde_with/compare/v3.14.0...v3.14.1 )
Updates `anyhow` from 1.0.98 to 1.0.100
- [Release notes](https://github.com/dtolnay/anyhow/releases )
- [Commits](https://github.com/dtolnay/anyhow/compare/1.0.99...1.0.100 )
Updates `cfg-if` from 1.0.0 to 1.0.3
- [Release notes](https://github.com/rust-lang/cfg-if/releases )
- [Changelog](https://github.com/rust-lang/cfg-if/blob/main/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/cfg-if/compare/1.0.0...v1.0.3 )
Updates `clap` from 4.5.47 to 4.5.48
- [Release notes](https://github.com/clap-rs/clap/releases )
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md )
- [Commits](https://github.com/clap-rs/clap/compare/clap_complete-v4.5.47...clap_complete-v4.5.48 )
Updates `epoll` from 4.3.3 to 4.4.0
- [Release notes](https://github.com/nathansizemore/epoll/releases )
- [Commits](https://github.com/nathansizemore/epoll/compare/4.3.3...4.4.0 )
Updates `libc` from 0.2.169 to 0.2.175
- [Release notes](https://github.com/rust-lang/libc/releases )
- [Changelog](https://github.com/rust-lang/libc/blob/0.2.175/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/libc/compare/0.2.169...0.2.175 )
Updates `log` from 0.4.22 to 0.4.28
- [Release notes](https://github.com/rust-lang/log/releases )
- [Changelog](https://github.com/rust-lang/log/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/log/compare/0.4.22...0.4.28 )
Updates `thiserror` from 2.0.12 to 2.0.16
- [Release notes](https://github.com/dtolnay/thiserror/releases )
- [Commits](https://github.com/dtolnay/thiserror/compare/2.0.12...2.0.16 )
Updates `zerocopy` from 0.8.26 to 0.8.27
- [Release notes](https://github.com/google/zerocopy/releases )
- [Changelog](https://github.com/google/zerocopy/blob/main/CHANGELOG.md )
- [Commits](https://github.com/google/zerocopy/compare/v0.8.26...v0.8.27 )
Updates `num_enum` from 0.7.2 to 0.7.4
- [Commits](https://github.com/illicitonion/num_enum/compare/0.7.3...0.7.4 )
Updates `getrandom` from 0.2.15 to 0.2.16
- [Changelog](https://github.com/rust-random/getrandom/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-random/getrandom/compare/v0.2.15...v0.2.16 )
Updates `gdbstub` from 0.7.6 to 0.7.7
- [Release notes](https://github.com/daniel5151/gdbstub/releases )
- [Changelog](https://github.com/daniel5151/gdbstub/blob/master/CHANGELOG.md )
- [Commits](https://github.com/daniel5151/gdbstub/compare/0.7.6...0.7.7 )
Updates `landlock` from 0.4.2 to 0.4.3
- [Release notes](https://github.com/landlock-lsm/rust-landlock/releases )
- [Changelog](https://github.com/landlock-lsm/rust-landlock/blob/main/CHANGELOG.md )
- [Commits](https://github.com/landlock-lsm/rust-landlock/compare/v0.4.2...v0.4.3 )
Updates `micro_http` from `bf50989` to `3248cee`
- [Commits](bf50989160...3248ceeae4 )
Updates `anstream` from 0.6.15 to 0.6.20
- [Commits](https://github.com/rust-cli/anstyle/compare/anstream-v0.6.19...anstream-v0.6.20 )
Updates `anstyle` from 1.0.8 to 1.0.11
- [Commits](https://github.com/rust-cli/anstyle/compare/v1.0.8...v1.0.11 )
Updates `anstyle-parse` from 0.2.5 to 0.2.7
- [Commits](https://github.com/rust-cli/anstyle/compare/anstyle-parse-v0.2.5...anstyle-parse-v0.2.7 )
Updates `anstyle-query` from 1.1.1 to 1.1.4
- [Commits](https://github.com/rust-cli/anstyle/compare/anstyle-query-v1.1.2...anstyle-query-v1.1.4 )
Updates `anstyle-wincon` from 3.0.4 to 3.0.10
- [Commits](https://github.com/rust-cli/anstyle/compare/anstyle-wincon-v3.0.6...anstyle-wincon-v3.0.10 )
Updates `autocfg` from 1.3.0 to 1.5.0
- [Commits](https://github.com/cuviper/autocfg/compare/1.3.0...1.5.0 )
Updates `bumpalo` from 3.16.0 to 3.19.0
- [Changelog](https://github.com/fitzgen/bumpalo/blob/main/CHANGELOG.md )
- [Commits](https://github.com/fitzgen/bumpalo/commits )
Updates `cc` from 1.1.11 to 1.2.38
- [Release notes](https://github.com/rust-lang/cc-rs/releases )
- [Changelog](https://github.com/rust-lang/cc-rs/blob/main/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/cc-rs/compare/cc-v1.2.34...cc-v1.2.38 )
Updates `clap_builder` from 4.5.47 to 4.5.48
- [Release notes](https://github.com/clap-rs/clap/releases )
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md )
- [Commits](https://github.com/clap-rs/clap/compare/v4.5.47...v4.5.48 )
Updates `colorchoice` from 1.0.2 to 1.0.4
- [Commits](https://github.com/rust-cli/anstyle/compare/colorchoice-v1.0.3...colorchoice-v1.0.4 )
Updates `darling` from 0.20.10 to 0.21.3
- [Release notes](https://github.com/TedDriggs/darling/releases )
- [Changelog](https://github.com/TedDriggs/darling/blob/master/CHANGELOG.md )
- [Commits](https://github.com/TedDriggs/darling/compare/v0.20.10...v0.21.3 )
Updates `darling_core` from 0.20.10 to 0.21.3
- [Release notes](https://github.com/TedDriggs/darling/releases )
- [Changelog](https://github.com/TedDriggs/darling/blob/master/CHANGELOG.md )
- [Commits](https://github.com/TedDriggs/darling/compare/v0.20.10...v0.21.3 )
Updates `darling_macro` from 0.20.10 to 0.21.3
- [Release notes](https://github.com/TedDriggs/darling/releases )
- [Changelog](https://github.com/TedDriggs/darling/blob/master/CHANGELOG.md )
- [Commits](https://github.com/TedDriggs/darling/compare/v0.20.10...v0.21.3 )
Updates `enumflags2` from 0.7.10 to 0.7.12
- [Release notes](https://github.com/meithecatte/enumflags2/releases )
- [Commits](https://github.com/meithecatte/enumflags2/compare/v0.7.10...v0.7.12 )
Updates `enumflags2_derive` from 0.7.10 to 0.7.12
- [Release notes](https://github.com/meithecatte/enumflags2/releases )
- [Commits](https://github.com/meithecatte/enumflags2/compare/v0.7.10...v0.7.12 )
Updates `equivalent` from 1.0.1 to 1.0.2
- [Commits](https://github.com/indexmap-rs/equivalent/compare/v1.0.1...v1.0.2 )
Updates `futures-core` from 0.3.30 to 0.3.31
- [Release notes](https://github.com/rust-lang/futures-rs/releases )
- [Changelog](https://github.com/rust-lang/futures-rs/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/futures-rs/compare/0.3.30...0.3.31 )
Updates `futures-sink` from 0.3.30 to 0.3.31
- [Release notes](https://github.com/rust-lang/futures-rs/releases )
- [Changelog](https://github.com/rust-lang/futures-rs/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/futures-rs/compare/0.3.30...0.3.31 )
Updates `indexmap` from 2.5.0 to 2.11.4
- [Changelog](https://github.com/indexmap-rs/indexmap/blob/main/RELEASES.md )
- [Commits](https://github.com/indexmap-rs/indexmap/compare/2.8.0...2.11.4 )
Updates `itoa` from 1.0.11 to 1.0.15
- [Release notes](https://github.com/dtolnay/itoa/releases )
- [Commits](https://github.com/dtolnay/itoa/compare/1.0.11...1.0.15 )
Updates `lock_api` from 0.4.12 to 0.4.13
- [Release notes](https://github.com/Amanieu/parking_lot/releases )
- [Changelog](https://github.com/Amanieu/parking_lot/blob/master/CHANGELOG.md )
- [Commits](https://github.com/Amanieu/parking_lot/compare/lock_api-0.4.12...lock_api-v0.4.13 )
Updates `memchr` from 2.7.4 to 2.7.5
- [Commits](https://github.com/BurntSushi/memchr/compare/2.7.2...2.7.5 )
Updates `num_enum_derive` from 0.7.2 to 0.7.4
- [Commits](https://github.com/illicitonion/num_enum/compare/0.7.3...0.7.4 )
Updates `once_cell` from 1.20.2 to 1.21.3
- [Changelog](https://github.com/matklad/once_cell/blob/master/CHANGELOG.md )
- [Commits](https://github.com/matklad/once_cell/compare/v1.20.2...v1.21.3 )
Updates `ppv-lite86` from 0.2.20 to 0.2.21
- [Commits](https://github.com/cryptocorrosion/cryptocorrosion/commits/ppv-lite86-0.2.21 )
Updates `proc-macro-crate` from 3.2.0 to 3.4.0
- [Release notes](https://github.com/bkchr/proc-macro-crate/releases )
- [Commits](https://github.com/bkchr/proc-macro-crate/compare/v3.3.0...v3.4.0 )
Updates `proc-macro2` from 1.0.92 to 1.0.101
- [Release notes](https://github.com/dtolnay/proc-macro2/releases )
- [Commits](https://github.com/dtolnay/proc-macro2/compare/1.0.92...1.0.101 )
Updates `quote` from 1.0.37 to 1.0.40
- [Release notes](https://github.com/dtolnay/quote/releases )
- [Commits](https://github.com/dtolnay/quote/compare/1.0.37...1.0.40 )
Updates `r-efi` from 5.2.0 to 5.3.0
- [Release notes](https://github.com/r-efi/r-efi/releases )
- [Changelog](https://github.com/r-efi/r-efi/blob/main/NEWS.md )
- [Commits](https://github.com/r-efi/r-efi/compare/v5.2.0...v5.3.0 )
Updates `rand` from 0.9.0 to 0.9.2
- [Release notes](https://github.com/rust-random/rand/releases )
- [Changelog](https://github.com/rust-random/rand/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-random/rand/compare/0.9.0...rand_core-0.9.2 )
Updates `rustversion` from 1.0.21 to 1.0.22
- [Release notes](https://github.com/dtolnay/rustversion/releases )
- [Commits](https://github.com/dtolnay/rustversion/compare/1.0.21...1.0.22 )
Updates `ryu` from 1.0.18 to 1.0.20
- [Release notes](https://github.com/dtolnay/ryu/releases )
- [Commits](https://github.com/dtolnay/ryu/compare/1.0.18...1.0.20 )
Updates `serde_derive` from 1.0.208 to 1.0.226
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.208...v1.0.226 )
Updates `serde_with_macros` from 3.14.0 to 3.14.1
- [Release notes](https://github.com/jonasbb/serde_with/releases )
- [Commits](https://github.com/jonasbb/serde_with/compare/v3.14.0...v3.14.1 )
Updates `signal-hook-registry` from 1.4.2 to 1.4.6
- [Changelog](https://github.com/vorner/signal-hook/blob/master/CHANGELOG.md )
- [Commits](https://github.com/vorner/signal-hook/compare/registry-v1.4.2...registry-v1.4.6 )
Updates `syn` from 2.0.95 to 2.0.106
- [Release notes](https://github.com/dtolnay/syn/releases )
- [Commits](https://github.com/dtolnay/syn/compare/2.0.95...2.0.106 )
Updates `toml_datetime` from 0.6.8 to 0.7.2
- [Commits](https://github.com/toml-rs/toml/compare/toml_datetime-v0.6.11...toml_datetime-v0.7.2 )
Updates `toml_edit` from 0.22.22 to 0.23.6
- [Commits](https://github.com/toml-rs/toml/compare/v0.22.24...v0.23.6 )
Updates `unicode-ident` from 1.0.13 to 1.0.19
- [Release notes](https://github.com/dtolnay/unicode-ident/releases )
- [Commits](https://github.com/dtolnay/unicode-ident/compare/1.0.18...1.0.19 )
Updates `wasi` from 0.11.0+wasi-snapshot-preview1 to 0.11.1+wasi-snapshot-preview1
- [Commits](https://github.com/bytecodealliance/wasi-rs/compare/0.11.0...0.11.1 )
Updates `windows-sys` from 0.52.0 to 0.60.2
- [Release notes](https://github.com/microsoft/windows-rs/releases )
- [Commits](https://github.com/microsoft/windows-rs/compare/0.52.0...0.59.0 )
Updates `windows-targets` from 0.52.6 to 0.53.3
- [Release notes](https://github.com/microsoft/windows-rs/releases )
- [Commits](https://github.com/microsoft/windows-rs/commits )
Updates `windows_aarch64_gnullvm` from 0.52.6 to 0.53.0
- [Release notes](https://github.com/microsoft/windows-rs/releases )
- [Commits](https://github.com/microsoft/windows-rs/commits )
Updates `windows_aarch64_msvc` from 0.52.6 to 0.53.0
- [Release notes](https://github.com/microsoft/windows-rs/releases )
- [Commits](https://github.com/microsoft/windows-rs/commits )
Updates `windows_i686_gnu` from 0.52.6 to 0.53.0
- [Release notes](https://github.com/microsoft/windows-rs/releases )
- [Commits](https://github.com/microsoft/windows-rs/commits )
Updates `windows_i686_gnullvm` from 0.52.6 to 0.53.0
- [Release notes](https://github.com/microsoft/windows-rs/releases )
- [Commits](https://github.com/microsoft/windows-rs/commits/0.53.0 )
Updates `windows_i686_msvc` from 0.52.6 to 0.53.0
- [Release notes](https://github.com/microsoft/windows-rs/releases )
- [Commits](https://github.com/microsoft/windows-rs/commits )
Updates `windows_x86_64_gnu` from 0.52.6 to 0.53.0
- [Release notes](https://github.com/microsoft/windows-rs/releases )
- [Commits](https://github.com/microsoft/windows-rs/commits )
Updates `windows_x86_64_gnullvm` from 0.52.6 to 0.53.0
- [Release notes](https://github.com/microsoft/windows-rs/releases )
- [Commits](https://github.com/microsoft/windows-rs/commits )
Updates `windows_x86_64_msvc` from 0.52.6 to 0.53.0
- [Release notes](https://github.com/microsoft/windows-rs/releases )
- [Commits](https://github.com/microsoft/windows-rs/commits )
Updates `winnow` from 0.6.19 to 0.7.13
- [Changelog](https://github.com/winnow-rs/winnow/blob/main/CHANGELOG.md )
- [Commits](https://github.com/winnow-rs/winnow/compare/v0.7.2...v0.7.13 )
Updates `zerocopy-derive` from 0.7.35 to 0.8.27
- [Release notes](https://github.com/google/zerocopy/releases )
- [Changelog](https://github.com/google/zerocopy/blob/main/CHANGELOG.md )
- [Commits](https://github.com/google/zerocopy/compare/v0.7.35...v0.8.27 )
Updates `arbitrary` from 1.4.1 to 1.4.2
- [Changelog](https://github.com/rust-fuzz/arbitrary/blob/main/CHANGELOG.md )
- [Commits](https://github.com/rust-fuzz/arbitrary/compare/v1.4.1...v1.4.2 )
Updates `libfuzzer-sys` from 0.4.7 to 0.4.10
- [Changelog](https://github.com/rust-fuzz/libfuzzer/blob/main/CHANGELOG.md )
- [Commits](https://github.com/rust-fuzz/libfuzzer/compare/0.4.7...0.4.10 )
Updates `jobserver` from 0.1.32 to 0.1.34
- [Commits](https://github.com/rust-lang/jobserver-rs/compare/0.1.32...0.1.34 )
---
updated-dependencies:
- dependency-name: zbus
dependency-version: 5.11.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: serde
dependency-version: 1.0.226
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: serde_json
dependency-version: 1.0.145
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: serde_with
dependency-version: 3.14.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: anyhow
dependency-version: 1.0.100
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: cfg-if
dependency-version: 1.0.3
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: clap
dependency-version: 4.5.48
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: log
dependency-version: 0.4.28
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: thiserror
dependency-version: 2.0.16
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: zerocopy
dependency-version: 0.8.27
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: bitfield-struct
dependency-version: 0.11.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: num_enum
dependency-version: 0.7.4
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: blocking
dependency-version: 1.6.2
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: gdbstub
dependency-version: 0.7.7
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: micro_http
dependency-version: 3248ceeae41461d034624b582d5d358cd6e6f89f
dependency-type: direct:production
dependency-group: non-rust-vmm
- dependency-name: anstream
dependency-version: 0.6.20
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: anstyle-query
dependency-version: 1.1.4
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: anstyle-wincon
dependency-version: 3.0.10
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: async-broadcast
dependency-version: 0.7.2
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: async-executor
dependency-version: 1.13.3
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: async-io
dependency-version: 2.6.0
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: async-lock
dependency-version: 3.4.1
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: async-signal
dependency-version: 0.2.13
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: bumpalo
dependency-version: 3.19.0
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: cc
dependency-version: 1.2.38
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: clap_builder
dependency-version: 4.5.48
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: clap_lex
dependency-version: 0.7.5
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: colorchoice
dependency-version: 1.0.4
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: crc32fast
dependency-version: 1.5.0
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: darling
dependency-version: 0.21.3
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: darling_core
dependency-version: 0.21.3
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: darling_macro
dependency-version: 0.21.3
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: env_filter
dependency-version: 0.1.3
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: errno
dependency-version: 0.3.14
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: event-listener-strategy
dependency-version: 0.5.4
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: futures-lite
dependency-version: 2.6.1
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: glob
dependency-version: 0.3.3
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: hashbrown
dependency-version: 0.15.5
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: indexmap
dependency-version: 2.11.4
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: libredox
dependency-version: 0.1.10
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: libz-sys
dependency-version: 1.1.22
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: lock_api
dependency-version: 0.4.13
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: memchr
dependency-version: 2.7.5
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: num_enum_derive
dependency-version: 0.7.4
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: once_cell
dependency-version: 1.21.3
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: openssl-src
dependency-version: 300.5.2+3.5.2
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: openssl-sys
dependency-version: 0.9.109
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: parking_lot
dependency-version: 0.12.4
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: parking_lot_core
dependency-version: 0.9.11
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: pin-project-lite
dependency-version: 0.2.16
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: pkg-config
dependency-version: 0.3.32
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: polling
dependency-version: 3.11.0
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: ppv-lite86
dependency-version: 0.2.21
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: proc-macro-crate
dependency-version: 3.4.0
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: redox_syscall
dependency-version: 0.5.17
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: regex
dependency-version: 1.11.2
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: regex-automata
dependency-version: 0.4.10
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: regex-syntax
dependency-version: 0.8.6
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: serde_derive
dependency-version: 1.0.226
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: serde_repr
dependency-version: 0.1.20
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: serde_with_macros
dependency-version: 3.14.1
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: tempfile
dependency-version: 3.23.0
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: toml_datetime
dependency-version: 0.7.2
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: toml_edit
dependency-version: 0.23.6
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: tracing
dependency-version: 0.1.41
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: tracing-attributes
dependency-version: 0.1.30
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: tracing-core
dependency-version: 0.1.34
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: unicode-ident
dependency-version: 1.0.19
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: wasi
dependency-version: 0.11.1+wasi-snapshot-preview1
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: windows-sys
dependency-version: 0.59.0
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: windows-targets
dependency-version: 0.52.6
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: windows_aarch64_gnullvm
dependency-version: 0.52.6
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: windows_aarch64_msvc
dependency-version: 0.52.6
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: windows_i686_gnu
dependency-version: 0.52.6
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: windows_i686_msvc
dependency-version: 0.52.6
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: windows_x86_64_gnu
dependency-version: 0.52.6
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: windows_x86_64_gnullvm
dependency-version: 0.52.6
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: windows_x86_64_msvc
dependency-version: 0.52.6
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: winnow
dependency-version: 0.7.13
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: zbus_macros
dependency-version: 5.11.0
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: zerocopy-derive
dependency-version: 0.8.27
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: zvariant_utils
dependency-version: 3.2.1
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: serde
dependency-version: 1.0.226
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: serde_json
dependency-version: 1.0.145
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: serde_with
dependency-version: 3.14.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: anyhow
dependency-version: 1.0.100
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: cfg-if
dependency-version: 1.0.3
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: clap
dependency-version: 4.5.48
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: epoll
dependency-version: 4.4.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: libc
dependency-version: 0.2.175
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: log
dependency-version: 0.4.28
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: thiserror
dependency-version: 2.0.16
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: zerocopy
dependency-version: 0.8.27
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: num_enum
dependency-version: 0.7.4
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: getrandom
dependency-version: 0.2.16
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: gdbstub
dependency-version: 0.7.7
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: landlock
dependency-version: 0.4.3
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: micro_http
dependency-version: 3248ceeae41461d034624b582d5d358cd6e6f89f
dependency-type: direct:production
dependency-group: non-rust-vmm
- dependency-name: anstream
dependency-version: 0.6.20
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: anstyle
dependency-version: 1.0.11
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: anstyle-parse
dependency-version: 0.2.7
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: anstyle-query
dependency-version: 1.1.4
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: anstyle-wincon
dependency-version: 3.0.10
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: autocfg
dependency-version: 1.5.0
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: bumpalo
dependency-version: 3.19.0
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: cc
dependency-version: 1.2.38
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: clap_builder
dependency-version: 4.5.48
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: colorchoice
dependency-version: 1.0.4
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: darling
dependency-version: 0.21.3
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: darling_core
dependency-version: 0.21.3
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: darling_macro
dependency-version: 0.21.3
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: enumflags2
dependency-version: 0.7.12
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: enumflags2_derive
dependency-version: 0.7.12
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: equivalent
dependency-version: 1.0.2
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: futures-core
dependency-version: 0.3.31
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: futures-sink
dependency-version: 0.3.31
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: indexmap
dependency-version: 2.11.4
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: itoa
dependency-version: 1.0.15
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: lock_api
dependency-version: 0.4.13
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: memchr
dependency-version: 2.7.5
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: num_enum_derive
dependency-version: 0.7.4
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: once_cell
dependency-version: 1.21.3
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: ppv-lite86
dependency-version: 0.2.21
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: proc-macro-crate
dependency-version: 3.4.0
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: proc-macro2
dependency-version: 1.0.101
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: quote
dependency-version: 1.0.40
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: r-efi
dependency-version: 5.3.0
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: rand
dependency-version: 0.9.2
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: rustversion
dependency-version: 1.0.22
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: ryu
dependency-version: 1.0.20
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: serde_derive
dependency-version: 1.0.226
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: serde_with_macros
dependency-version: 3.14.1
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: signal-hook-registry
dependency-version: 1.4.6
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: syn
dependency-version: 2.0.106
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: toml_datetime
dependency-version: 0.7.2
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: toml_edit
dependency-version: 0.23.6
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: unicode-ident
dependency-version: 1.0.19
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: wasi
dependency-version: 0.11.1+wasi-snapshot-preview1
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: windows-sys
dependency-version: 0.60.2
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: windows-targets
dependency-version: 0.53.3
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: windows_aarch64_gnullvm
dependency-version: 0.53.0
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: windows_aarch64_msvc
dependency-version: 0.53.0
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: windows_i686_gnu
dependency-version: 0.53.0
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: windows_i686_gnullvm
dependency-version: 0.53.0
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: windows_i686_msvc
dependency-version: 0.53.0
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: windows_x86_64_gnu
dependency-version: 0.53.0
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: windows_x86_64_gnullvm
dependency-version: 0.53.0
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: windows_x86_64_msvc
dependency-version: 0.53.0
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: winnow
dependency-version: 0.7.13
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: zerocopy-derive
dependency-version: 0.8.27
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: non-rust-vmm
- dependency-name: arbitrary
dependency-version: 1.4.2
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: libfuzzer-sys
dependency-version: 0.4.10
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
- dependency-name: jobserver
dependency-version: 0.1.34
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: non-rust-vmm
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-09-24 02:28:12 +00:00
Ruoqing He
ad0f695352
ci: Make package-ecosystem combination unique
...
"Update configs must have a unique combination of 'package-ecosystem',
'directory', and 'target-branch'. Ecosystem 'cargo' has overlapping
directories for target branch 'main'."
Drop `target-branch` in rust-vmm group to make those two unique.
Signed-off-by: Ruoqing He <heruoqing@iscas.ac.cn >
2025-09-23 11:08:31 +01:00
dependabot[bot]
70c798d2b9
build: Bump landlock from 0.4.2 to 0.4.3
...
Bumps [landlock](https://github.com/landlock-lsm/rust-landlock ) from 0.4.2 to 0.4.3.
- [Release notes](https://github.com/landlock-lsm/rust-landlock/releases )
- [Changelog](https://github.com/landlock-lsm/rust-landlock/blob/main/CHANGELOG.md )
- [Commits](https://github.com/landlock-lsm/rust-landlock/compare/v0.4.2...v0.4.3 )
---
updated-dependencies:
- dependency-name: landlock
dependency-version: 0.4.3
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-09-22 23:50:49 +00:00
Ruoqing He
db37ef2ad7
ci: Group dependabot updates to reduce noise
...
Use a workaround [1] to group rust-vmm and non-rust-vmm updates raised
by dependabot, which reduces noise from dependabot.
[1] https://github.com/dependabot/dependabot-core/issues/1778#issuecomment-1988140219
Signed-off-by: Ruoqing He <heruoqing@iscas.ac.cn >
2025-09-22 22:27:44 +01:00
Philipp Schuster
452424b66e
vmm: api: abstract FD handling behind functions
...
## TL;DR
This unifies error handling, implementation, and logging of config
objects that are populated with additional FDs received as part of
the HTTP API request from the management software. This prevents current
and future code in repetition.
In the future, if we want to support let's say virtio-blk with external
FDs, the AddBlk API handler simply needs a call to `attach_fds_to_cfg()`
and gets all the magic for free.
## Motivation
The motivation of the new abstraction is to provide a verbose, solid,
and bulletproof solution for a complex domain. The interaction between
- the management layer,
- the passing of file descriptors over UNIX domain sockets via
SCM_RIGHTS,
- the attachment of configurations to those FDs,
- and the ability to give new developers clear insights into what
happens under the hood
is not trivial. These factors justify encapsulating the complexity
behind a convenient and well-documented abstraction, making the system
both robust in production and approachable for new developers.
In addition, it allows us to perform unit testing. Further, We get rid
of existing partial code duplication and inconsistencies.
Finally, while this approach may initially result in more code, every
new handler that accepts FDs benefits from reduced duplication and a
correct implementation by relying on the shared abstraction. This will
also enable future functionality, such as virtio-blk devices backed by
FDs which can then be integrated with ease.
Signed-off-by: Philipp Schuster <philipp.schuster@cyberus-technology.de >
On-behalf-of: SAP philipp.schuster@sap.com
2025-09-22 14:29:54 +00:00
Philipp Schuster
ed27e93b81
vmm: remove special serialization of network FDs
...
Deserializing values as `-1` makes sense to prevent errors, so let's
keep it. However, serializing them differently adds confusion. For
example, a `ch-remote info` call should not report `-1` but the actual
FDs.
Signed-off-by: Philipp Schuster <philipp.schuster@cyberus-technology.de >
On-behalf-of: SAP philipp.schuster@sap.com
2025-09-22 14:29:54 +00:00
Philipp Schuster
0cd87053ee
vmm: document + FD (de)serialization + warn -> debug
...
(1) The old messages are missing the "why" part. With this change, users
of Cloud Hypervisor have somehow more context and people looking at
the code perfectly know what's going on.
(2) Using warn! implies that the user should take action, but in this
case, there’s nothing the user can do. If the API is used correctly
and file descriptors are passed via an SCM_RIGHTS message over a
UNIX domain socket, everything works as intended. In that case,
there's no need to issue a warning — debug! is sufficient.
Signed-off-by: Philipp Schuster <philipp.schuster@cyberus-technology.de >
On-behalf-of: SAP philipp.schuster@sap.com
2025-09-22 14:29:54 +00:00
Philipp Schuster
60efa1aa03
vmm: doc improvement for "magic" network FD handling
...
Live migration, state save/resume, and hotplug are not trivial when it
comes to virtio-net devices backed by externally provided FDs. As the
mechanism behind it can be considered as quite "multi-step magic" even
for experienced programmers, it makes sense to thoroughly document this
to ease debugging and to improve the mental model of developers working
on this in the future.
Signed-off-by: Philipp Schuster <philipp.schuster@cyberus-technology.de >
On-behalf-of: SAP philipp.schuster@sap.com
2025-09-22 14:29:54 +00:00
Philipp Schuster
fae32412dc
vmm: logger: improve code, remove duplication
...
Signed-off-by: Philipp Schuster <philipp.schuster@cyberus-technology.de >
On-behalf-of: SAP philipp.schuster@sap.com
2025-09-22 14:28:35 +00:00
Philipp Schuster
7a5781e5a2
vmm: logger: improve output of timestamp
...
Streamline the output format of the timestamp of a message.
The old format doesn't nicely align across multiple lines.
# Example (old style)
```
cloud-hypervisor: 858.465660ms: <vcpu0> DEBUG:devices/src/ioapic.rs:154 -- IOAPIC_R @ offset 0x10
cloud-hypervisor: 858.507342ms: <vcpu0> DEBUG:devices/src/ioapic.rs:298 -- IOAPIC_R reg 0x1
cloud-hypervisor: 1.010001s: <vcpu0> DEBUG:devices/src/ioapic.rs:174 -- IOAPIC_W @ offset 0x0
cloud-hypervisor: 1.010067s: <vcpu0> DEBUG:devices/src/ioapic.rs:154 -- IOAPIC_R @ offset 0x10
```
# Example (new style)
```
cloud-hypervisor: 0.731399s: <vcpu0> DEBUG:devices/src/ioapic.rs:174 -- IOAPIC_W @ offset 0x10
cloud-hypervisor: 0.731420s: <vcpu0> DEBUG:devices/src/ioapic.rs:252 -- IOAPIC_W reg 0x2a, val 0x10000
cloud-hypervisor: 17.026073s: <vmm> INFO:vmm/src/api/mod.rs:898 -- API request event: VmInfo
cloud-hypervisor: 17.263210s: <vmm> INFO:vmm/src/api/mod.rs:898 -- API request event: VmInfo
cloud-hypervisor: 17.547915s: <vmm> INFO:vmm/src/api/mod.rs:898 -- API request event: VmInfo
```
Signed-off-by: Philipp Schuster <philipp.schuster@cyberus-technology.de >
On-behalf-of: SAP philipp.schuster@sap.com
2025-09-22 14:28:35 +00:00
dependabot[bot]
e5c9f7d615
build: Bump igvm_defs from dff4ebc to 9b67b6f
...
Bumps [igvm_defs](https://github.com/microsoft/igvm ) from `dff4ebc` to `9b67b6f`.
- [Release notes](https://github.com/microsoft/igvm/releases )
- [Commits](dff4ebc9c5...9b67b6fa77 )
---
updated-dependencies:
- dependency-name: igvm_defs
dependency-version: 9b67b6fa774f4a842718c5c70645973fe73ef616
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-09-22 14:25:01 +00:00
Wei Liu
78a16227d2
scripts: Exit create-cloud-init.sh on error
...
Signed-off-by: Wei Liu <liuwe@microsoft.com >
2025-09-22 14:24:50 +00:00
Maximilian Güntner
66aa0743f0
vmm: allow net devices without ip and mask
...
This change enables easier integration with third-party
tools by removing the requirement for a dummy IP address
when configuring tap devices. The modification applies to
both CLI and API interactions.
Previously, cloud-hypervisor would automatically set a
default static IP address (192.168.249.1) if none was provided.
This could lead to:
* multiple devices without explicit IP configurations
would end up with the same default IP
* unnecessary inclusion of this IP in firewall rules
* the IP address could clash with host networking and
routing
This introduces a new constraint:
When providing an IP, the mask must also be provided.
Removes warnings introduced in #7179 .
Closes issue #7083 .
Signed-off-by: Maximilian Güntner <code@mguentner.de >
2025-09-22 14:12:47 +00:00
Maximilian Güntner
d28d9eb34e
virtio-devices: refactor VSOCK "connect" parsing
...
The function `read_local_stream_port` had no proper handling for
unexpected or incomplete input.
When the control socket of the VSOCK device was closed without sending
the expected `CONNECT <PORT>\n` statement completely, the thread
got stuck in an infinite loop as it attempted to read from a closed
socket over and over again which never returned any data.
This resulted in the thread responsible for `epoll` being completely
blocked. New VSOCK connections could not be established and existing
ones became defunct, effectively leading to a Denial of Service of
the entire VSOCK device.
The issue can be reproduced by opening a socket and immediately
closing it.
```
socat - UNIX-CONNECT:/socket.vsock
<Ctrl-C>
```
Instead of applying a quick fix by handling the `EPOLLHUP` event before
reading, the function is refactored to remove the error-prone `while`
loop and multiple `read`s.
Notably, we now check if the number of bytes read is zero, which occurs
when `event_set == EPOLLHUP | EPOLLIN`, indicating that the socket has
been closed by the client.
Additionally, the actual parsing code is now extracted into a dedicated
function that is tested.
Fixes : #6798
Signed-off-by: Maximilian Güntner <code@mguentner.de >
2025-09-17 17:10:12 +00:00
Muminul Islam
1e8996f94f
vmm: hypervisor: simplify VM creation API
...
For MSHV customers don't want to make everything
default during partition creation. For example
nested support, some synthetic features could be
controlled from CLI through platform argument.
Create_vm API getting messy after adding more flags.
This patch introduces common data struct to be passed
from vmm crate to hypervisor crate during partition creation.
Signed-off-by: Muminul Islam <muislam@microsoft.com >
2025-09-17 16:40:10 +00:00
Bo Chen
f122398262
misc: Fix beta clippy issues
...
Fixed with 'cargo clippy --fix' mostly.
Signed-off-by: Bo Chen <bchen@crusoe.ai >
2025-09-17 03:59:57 +00:00
Anirudh Rayabharam
10fb713218
hypervisor: mshv: handle reset intercepts for arm64
...
Handle MSHV reset intercepts on arm64 such that guests can gracefully
shutdown/reboot instead of panicking due to unhandled intercept.
Signed-off-by: Anirudh Rayabharam <anrayabh@microsoft.com >
2025-09-17 01:34:39 +00:00
dependabot[bot]
90b0dc911c
build: Bump epoll from 4.3.3 to 4.4.0
...
Bumps [epoll](https://github.com/nathansizemore/epoll ) from 4.3.3 to 4.4.0.
- [Release notes](https://github.com/nathansizemore/epoll/releases )
- [Commits](https://github.com/nathansizemore/epoll/compare/4.3.3...4.4.0 )
---
updated-dependencies:
- dependency-name: epoll
dependency-version: 4.4.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-09-16 23:52:39 +00:00
dependabot[bot]
79fe396da9
build: Bump tj-actions/changed-files from 46 to 47
...
Bumps [tj-actions/changed-files](https://github.com/tj-actions/changed-files ) from 46 to 47.
- [Release notes](https://github.com/tj-actions/changed-files/releases )
- [Changelog](https://github.com/tj-actions/changed-files/blob/main/HISTORY.md )
- [Commits](https://github.com/tj-actions/changed-files/compare/v46...v47 )
---
updated-dependencies:
- dependency-name: tj-actions/changed-files
dependency-version: '47'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-09-16 00:23:42 +00:00
dependabot[bot]
72dc280a0c
build: Bump async-process from 2.4.0 to 2.5.0
...
Bumps [async-process](https://github.com/smol-rs/async-process ) from 2.4.0 to 2.5.0.
- [Release notes](https://github.com/smol-rs/async-process/releases )
- [Changelog](https://github.com/smol-rs/async-process/blob/master/CHANGELOG.md )
- [Commits](https://github.com/smol-rs/async-process/compare/v2.4.0...v2.5.0 )
---
updated-dependencies:
- dependency-name: async-process
dependency-version: 2.5.0
dependency-type: indirect
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-09-16 00:03:02 +00:00
Muminul Islam
ad9a1878bf
hypervisor: remove invalid url
...
Reference link to set_device_attribut for aarch64
is invalid. Looks like the code browsing does not
have the reference anymore.
Signed-off-by: Muminul Islam <muislam@microsoft.com >
2025-09-13 08:30:58 +00:00
Philipp Schuster
8fd8523042
vmm: add info! message on graceful shutdown
...
This message makes it easier to confirm a successful shutdown when
scanning logs during development and in production. If the message is
missing and the last log entry is not an error, the most likely cause
is a livelock (e.g. contention on a lock) introduced while developing
new Cloud Hypervisor features.
Signed-off-by: Philipp Schuster <philipp.schuster@cyberus-technology.de >
On-behalf-of: SAP philipp.schuster@sap.com
2025-09-13 07:43:29 +00:00
dependabot[bot]
d002090afe
build: Bump anyhow from 1.0.98 to 1.0.99
...
Bumps [anyhow](https://github.com/dtolnay/anyhow ) from 1.0.98 to 1.0.99.
- [Release notes](https://github.com/dtolnay/anyhow/releases )
- [Commits](https://github.com/dtolnay/anyhow/compare/1.0.98...1.0.99 )
---
updated-dependencies:
- dependency-name: anyhow
dependency-version: 1.0.99
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-09-12 23:53:47 +00:00
Bo Chen
95e3c8f8fd
build: Release v48.0
...
Signed-off-by: Bo Chen <bchen@crusoe.ai >
2025-09-12 20:23:29 +00:00
Peter Oskolkov
5f399fc06d
vmm: fix hotplugging when max_cpus > 255
...
Signed-off-by: Peter Oskolkov <posk@posk.io >
2025-09-12 07:23:55 +00:00
dependabot[bot]
43a6a914b8
build: Bump ssh2 from 0.9.4 to 0.9.5
...
Bumps [ssh2](https://github.com/alexcrichton/ssh2-rs ) from 0.9.4 to 0.9.5.
- [Commits](https://github.com/alexcrichton/ssh2-rs/compare/0.9.4...0.9.5 )
---
updated-dependencies:
- dependency-name: ssh2
dependency-version: 0.9.5
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-09-11 23:52:25 +00:00
Bo Chen
ad3f94638f
docs: Clarify our policy on AI generated code
...
Fix : #7162
Signed-off-by: Bo Chen <bchen@crusoe.ai >
2025-09-11 17:40:51 +00:00
dependabot[bot]
4dd635a56a
build: Bump bitflags from 2.9.3 to 2.9.4
...
Bumps [bitflags](https://github.com/bitflags/bitflags ) from 2.9.3 to 2.9.4.
- [Release notes](https://github.com/bitflags/bitflags/releases )
- [Changelog](https://github.com/bitflags/bitflags/blob/main/CHANGELOG.md )
- [Commits](https://github.com/bitflags/bitflags/compare/2.9.3...2.9.4 )
---
updated-dependencies:
- dependency-name: bitflags
dependency-version: 2.9.4
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-09-10 23:54:06 +00:00
Philipp Schuster
1179a1a1c9
vmm: refactor alignment
...
Context [0].
[0] https://github.com/cloud-hypervisor/cloud-hypervisor/pull/7256#discussion_r2298538384
Signed-off-by: Philipp Schuster <philipp.schuster@cyberus-technology.de >
On-behalf-of: SAP philipp.schuster@sap.com
2025-09-10 18:35:38 +00:00
Philipp Schuster
c995b72384
build: treewide: clippy: collapse nested ifs, use let chains
...
This bumps the MSRV to 1.88 (also, Rust edition 2024 is mandatory).
Signed-off-by: Philipp Schuster <philipp.schuster@cyberus-technology.de >
On-behalf-of: SAP philipp.schuster@sap.com
2025-09-10 18:35:38 +00:00
Philipp Schuster
f73a6c8d8e
build: treewide: clippy for edition 2024
...
This commit includes all simple clippy fixes excluding the
collapsing of nested ifs using the let-chains feature. This
follows in the next commit.
Signed-off-by: Philipp Schuster <philipp.schuster@cyberus-technology.de >
On-behalf-of: SAP philipp.schuster@sap.com
2025-09-10 18:35:38 +00:00
Philipp Schuster
363273111a
build: treewide: fmt for edition 2024
...
`cargo +nightly fmt`
Signed-off-by: Philipp Schuster <philipp.schuster@cyberus-technology.de >
On-behalf-of: SAP philipp.schuster@sap.com
2025-09-10 18:35:38 +00:00
Philipp Schuster
061351d82d
build: upgrade whole* workspace to Rust edition 2024
...
This upgrades the Cargo workspace to Rust edition 2024 to keep the
code base clean and up to date.
The commit only contains the adjustments to the Cargo.toml files and
basic compiler error fixes. Also, this commit includes new SAFETY
comments as discussed in [1]. The changes were not automatically
fixed by `cargo fix --edition` but needed manual adjustments.
Apart from that, all formatting and clippy adjustments follow in
subsequent commits.
*
As only exception, workspace member net_gen sticks to edition 2021
for now as discussed in [0].
[0] https://github.com/cloud-hypervisor/cloud-hypervisor/pull/7295#discussion_r2310851041
[1] https://github.com/cloud-hypervisor/cloud-hypervisor/pull/7256#issuecomment-3271888674
Signed-off-by: Philipp Schuster <philipp.schuster@cyberus-technology.de >
On-behalf-of: SAP philipp.schuster@sap.com
2025-09-10 18:35:38 +00:00
dependabot[bot]
5790bcefee
build: Bump miniz_oxide from 0.8.8 to 0.8.9
...
Bumps [miniz_oxide](https://github.com/Frommi/miniz_oxide ) from 0.8.8 to 0.8.9.
- [Changelog](https://github.com/Frommi/miniz_oxide/blob/master/CHANGELOG.md )
- [Commits](https://github.com/Frommi/miniz_oxide/commits )
---
updated-dependencies:
- dependency-name: miniz_oxide
dependency-version: 0.8.9
dependency-type: indirect
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-09-10 00:01:54 +00:00
Anirudh Rayabharam
86c736fe76
build: bump mshv and vfio crates
...
Bump mshv-ioctls and mshv-bindings to 0.6.0. Most notably, this version
contains fixes and new bindings for arm64 guests.
Bump the vfio crates too so that they point to the latest mshv crates.
Signed-off-by: Anirudh Rayabharam <anrayabh@microsoft.com >
2025-09-09 22:58:01 +00:00
Wei Liu
5737e58f29
tests: Use serial console in test_cpu_hotplug
...
Virtio console is activated much later in boot. The output it spits out
lacks the initial CPU configuration of the guest.
Signed-off-by: Wei Liu <liuwe@microsoft.com >
2025-09-09 21:58:42 +00:00
Alyssa Ross
e4af58b88e
arch: aarch64: fdt: reduce log verbosity
...
This module warns for a lot of routine things that the user cannot do
anything about.
Closes: https://github.com/cloud-hypervisor/cloud-hypervisor/issues/7220
Signed-off-by: Alyssa Ross <hi@alyssa.is >
2025-09-09 17:41:05 +00:00
Alyssa Ross
093f62858f
seccomp: avoid hardcoding ioctl numbers
...
These can differ between platforms, so it's better to use centralized
definitions of them. We can't currently do this for the KVM and VFIO
ioctls, because the corresponding crates don't publicly expose the
ioctl numbers.
Signed-off-by: Alyssa Ross <hi@alyssa.is >
2025-09-09 16:43:35 +00:00
Alyssa Ross
305bec056f
arch: aarch64: fdt: replace broken link
...
The previously linked file was converted to ReStructuredText, then
later removed from the kernel, with part of the justification being
"Most of what booting-without-of.rst contains is now in the DT
specification", so point to that instead.
Signed-off-by: Alyssa Ross <hi@alyssa.is >
2025-09-09 16:34:26 +00:00
Alyssa Ross
6cac99bd76
vmm: error if landlock can't be enabled
...
Since the user has to explicitly ask for Landlock to be enabled in
Cloud Hypervisor, it's surprising that, even when they've done that,
Landlock will silently not be enabled if the kernel doesn't support
it.
To prevent accidental absence of a desired security protection, exit
with an error if Landlock, or the one feature of it we use in Cloud
Hypervisor (file access) is not supported.
Signed-off-by: Alyssa Ross <hi@alyssa.is >
2025-09-09 15:08:24 +00:00
Alyssa Ross
533d3a85d1
vmm: fix landlock on aarch64
...
arch::aarch64::fdt::create_cpu_nodes will always look at this if it
exists. (If it doesn't exist, this is a no-op —
add_rule_with_access() won't add rules for paths that don't exist.)
Fixes: b3e5738b4 ("vmm: Introduce ApplyLandlock trait")
Signed-off-by: Alyssa Ross <hi@alyssa.is >
2025-09-09 11:53:45 +00:00
dependabot[bot]
c7eac0f65a
build: Bump clap from 4.5.13 to 4.5.47
...
Bumps [clap](https://github.com/clap-rs/clap ) from 4.5.13 to 4.5.47.
- [Release notes](https://github.com/clap-rs/clap/releases )
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md )
- [Commits](https://github.com/clap-rs/clap/compare/clap_complete-v4.5.13...clap_complete-v4.5.47 )
---
updated-dependencies:
- dependency-name: clap
dependency-version: 4.5.47
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-09-09 11:13:10 +00:00
Muminul Islam
e7e850bbdd
tests: enable more test cases for MSHV
...
MSHV now supports movable pages i.e VA backed guest.
Also with more features and stability in the MSHV
Kernel drives MSHV now supports more test scenario.
This patch enables more integration test cases.
Signed-off-by: Muminul Islam <muislam@microsoft.com >
2025-09-09 10:10:53 +00:00
Alyssa Ross
08b197bbc1
vmm: fix vsock with landlock
...
Without write access to the directory the socket will go in, it's not
possible to create the socket.
I've tested outgoing connections from the VM, and they don't seem to
need read permissions on that directory to connect to a socket on the
host.
Fixes: b3e5738b4 ("vmm: Introduce ApplyLandlock trait")
Signed-off-by: Alyssa Ross <hi@alyssa.is >
2025-09-09 10:09:22 +00:00
Alyssa Ross
3259234e58
vmm: drop unnecessary copies
...
path_beneath_rules() just needs the paths given to it to be
AsRef<Path>, so there's no need to create new PathBufs for it.
Signed-off-by: Alyssa Ross <hi@alyssa.is >
2025-09-09 04:23:13 +00:00
Peter Oskolkov
05d222f0eb
vmm: raise the (v)CPU limit on kvm/x86_64
...
Raise the max number of supported (v)CPUs on kvm x86_64 hosts
to 8192 (the max allowed value of CONFIG_NR_CPUS in the Linux kernel).
Other platfroms keep their existing CPU limits pending further
development and testing.
The change has been tested on Intel and AMD hosts.
Signed-off-by: Barret Rhoden <brho@google.com >
Signed-off-by: Neel Natu <neelnatu@google.com >
Signed-off-by: Ofir Weisse <oweisse@google.com >
Signed-off-by: Peter Oskolkov <posk@google.com >
2025-09-08 22:54:31 +00:00
Peter Oskolkov
57bc78da4f
arch: x86_64: make MAX_SUPPORTED_CPUS_LEGACY public
...
Signed-off-by: Peter Oskolkov <posk@google.com >
2025-09-08 22:54:31 +00:00
Alyssa Ross
47cff7c37f
vmm: allow TCGETS2/TCSETS2 where TCGETS/TCSETS are
...
These are now used by Cloud Hypervisor when linked with Glibc 2.42.
These values should be correct for all currently supported Cloud
Hypervisor platforms, although they are not for all Linux platforms.
Closes: https://github.com/cloud-hypervisor/cloud-hypervisor/issues/7276
Signed-off-by: Alyssa Ross <hi@alyssa.is >
2025-09-06 13:33:25 +00:00
dependabot[bot]
3f5c719705
build: Bump crate-ci/typos from 1.36.1 to 1.36.2
...
Bumps [crate-ci/typos](https://github.com/crate-ci/typos ) from 1.36.1 to 1.36.2.
- [Release notes](https://github.com/crate-ci/typos/releases )
- [Changelog](https://github.com/crate-ci/typos/blob/master/CHANGELOG.md )
- [Commits](https://github.com/crate-ci/typos/compare/v1.36.1...v1.36.2 )
---
updated-dependencies:
- dependency-name: crate-ci/typos
dependency-version: 1.36.2
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-09-06 00:12:14 +00:00
dependabot[bot]
706b56e97d
build: Bump async-trait from 0.1.88 to 0.1.89
...
Bumps [async-trait](https://github.com/dtolnay/async-trait ) from 0.1.88 to 0.1.89.
- [Release notes](https://github.com/dtolnay/async-trait/releases )
- [Commits](https://github.com/dtolnay/async-trait/compare/0.1.88...0.1.89 )
---
updated-dependencies:
- dependency-name: async-trait
dependency-version: 0.1.89
dependency-type: indirect
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-09-05 23:50:25 +00:00
Shubham Chakrawar
2d9e243163
misc: Remove SGX support from Cloud Hypervisor
...
This commit removes the SGX support from cloud hypervisor. SGX support
was deprecated in May as part of #7090 .
Signed-off-by: Shubham Chakrawar <schakrawar@crusoe.ai >
2025-09-05 18:08:36 +00:00
dependabot[bot]
7281459bf9
build: Bump actions/setup-python from 5 to 6
...
Bumps [actions/setup-python](https://github.com/actions/setup-python ) from 5 to 6.
- [Release notes](https://github.com/actions/setup-python/releases )
- [Commits](https://github.com/actions/setup-python/compare/v5...v6 )
---
updated-dependencies:
- dependency-name: actions/setup-python
dependency-version: '6'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-09-05 00:07:57 +00:00
dependabot[bot]
9bf4696b09
build: Bump libssh2-sys from 0.3.0 to 0.3.1
...
Bumps [libssh2-sys](https://github.com/alexcrichton/ssh2-rs ) from 0.3.0 to 0.3.1.
- [Commits](https://github.com/alexcrichton/ssh2-rs/compare/libssh2-sys-0.3.0...libssh2-sys-0.3.1 )
---
updated-dependencies:
- dependency-name: libssh2-sys
dependency-version: 0.3.1
dependency-type: indirect
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-09-04 23:54:35 +00:00
dependabot[bot]
f7f79642ab
build: Bump io-uring from 0.6.4 to 0.7.10
...
Bumps [io-uring](https://github.com/tokio-rs/io-uring ) from 0.6.4 to 0.7.10.
- [Commits](https://github.com/tokio-rs/io-uring/commits )
---
updated-dependencies:
- dependency-name: io-uring
dependency-version: 0.7.10
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-09-04 16:49:07 +00:00
dependabot[bot]
1cc193ea3c
build: Bump anstyle from 1.0.8 to 1.0.11
...
Bumps [anstyle](https://github.com/rust-cli/anstyle ) from 1.0.8 to 1.0.11.
- [Commits](https://github.com/rust-cli/anstyle/compare/v1.0.8...v1.0.11 )
---
updated-dependencies:
- dependency-name: anstyle
dependency-version: 1.0.11
dependency-type: indirect
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-09-04 13:14:17 +00:00
dependabot[bot]
676fb93c1a
build: Bump crate-ci/typos from 1.35.7 to 1.36.1
...
Bumps [crate-ci/typos](https://github.com/crate-ci/typos ) from 1.35.7 to 1.36.1.
- [Release notes](https://github.com/crate-ci/typos/releases )
- [Changelog](https://github.com/crate-ci/typos/blob/master/CHANGELOG.md )
- [Commits](https://github.com/crate-ci/typos/compare/v1.35.7...v1.36.1 )
---
updated-dependencies:
- dependency-name: crate-ci/typos
dependency-version: 1.36.1
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-09-04 11:19:34 +00:00
dependabot[bot]
f7e72456b9
build: Bump anstyle-parse from 0.2.6 to 0.2.7
...
Bumps [anstyle-parse](https://github.com/rust-cli/anstyle ) from 0.2.6 to 0.2.7.
- [Commits](https://github.com/rust-cli/anstyle/compare/anstyle-parse-v0.2.6...anstyle-parse-v0.2.7 )
---
updated-dependencies:
- dependency-name: anstyle-parse
dependency-version: 0.2.7
dependency-type: indirect
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-09-04 11:08:18 +00:00
dependabot[bot]
bd22190043
build: Bump uuid from 1.17.0 to 1.18.1
...
Bumps [uuid](https://github.com/uuid-rs/uuid ) from 1.17.0 to 1.18.1.
- [Release notes](https://github.com/uuid-rs/uuid/releases )
- [Commits](https://github.com/uuid-rs/uuid/compare/v1.17.0...v1.18.1 )
---
updated-dependencies:
- dependency-name: uuid
dependency-version: 1.18.1
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-09-04 08:12:29 +00:00
dependabot[bot]
92325fc073
build: Bump zvariant from 5.6.0 to 5.7.0
...
Bumps [zvariant](https://github.com/dbus2/zbus ) from 5.6.0 to 5.7.0.
- [Release notes](https://github.com/dbus2/zbus/releases )
- [Commits](https://github.com/dbus2/zbus/compare/zvariant-5.6.0...zvariant-5.7.0 )
---
updated-dependencies:
- dependency-name: zvariant
dependency-version: 5.7.0
dependency-type: indirect
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-09-03 18:55:17 +00:00
Muminul Islam
1ca6c159ef
tests: option to override default migratable version
...
This patch gives user an option to override the
default migratable version to any later release.
This option makes MSHV specific tests suitable for
tests since MSHV is stable after some breaking changes.
This patch is also necessary for MSHV CI.
Signed-off-by: Muminul Islam <muislam@microsoft.com >
2025-09-03 18:51:24 +00:00
dependabot[bot]
c38596d6d3
build: Bump serde_json from 1.0.120 to 1.0.143
...
Bumps [serde_json](https://github.com/serde-rs/json ) from 1.0.120 to 1.0.143.
- [Release notes](https://github.com/serde-rs/json/releases )
- [Commits](https://github.com/serde-rs/json/compare/v1.0.120...v1.0.143 )
---
updated-dependencies:
- dependency-name: serde_json
dependency-version: 1.0.143
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-09-02 23:32:14 +00:00
dependabot[bot]
456f9b3871
build: Bump bitflags from 2.9.2 to 2.9.3
...
Bumps [bitflags](https://github.com/bitflags/bitflags ) from 2.9.2 to 2.9.3.
- [Release notes](https://github.com/bitflags/bitflags/releases )
- [Changelog](https://github.com/bitflags/bitflags/blob/main/CHANGELOG.md )
- [Commits](https://github.com/bitflags/bitflags/compare/2.9.2...2.9.3 )
---
updated-dependencies:
- dependency-name: bitflags
dependency-version: 2.9.3
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-09-02 21:41:41 +00:00
dependabot[bot]
f68880600c
build: Bump crate-ci/typos from 1.35.6 to 1.35.7
...
Bumps [crate-ci/typos](https://github.com/crate-ci/typos ) from 1.35.6 to 1.35.7.
- [Release notes](https://github.com/crate-ci/typos/releases )
- [Changelog](https://github.com/crate-ci/typos/blob/master/CHANGELOG.md )
- [Commits](https://github.com/crate-ci/typos/compare/v1.35.6...v1.35.7 )
---
updated-dependencies:
- dependency-name: crate-ci/typos
dependency-version: 1.35.7
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-09-02 16:31:43 +00:00
Philipp Schuster
c3a809696a
docs: add Safety section to unsafe functions
...
This step was done manually by searching for "unsafe fn" in
the code base and adding corresponding Safety sections.
`clippy::missing_safety_doc` only works for public functions
but none of the corresponding functions is public.
Signed-off-by: Philipp Schuster <philipp.schuster@cyberus-technology.de >
On-behalf-of: SAP philipp.schuster@sap.com
2025-09-02 16:31:25 +00:00
Muminul Islam
a9d6807522
block: batch submit requests for fixed VHD
...
Updated VHD async implementation to call the batch submit
method via the raw async IO layer.
Signed-off-by: Muminul Islam <muislam@microsoft.com >
2025-09-02 16:29:25 +00:00
Muminul Islam
c4bab33020
block: Enable request submission in batch when using io_uring
...
Implement the batch submission function for raw disk, default it is
enabled. After parsing the requests this method is
called for better IO latency and bandwidth.
Signed-off-by: Bo Chen <bchen@crusoe.ai >
Signed-off-by: Muminul Islam <muislam@microsoft.com >
2025-09-02 16:29:25 +00:00
Muminul Islam
245bce23fa
block, virtio-devices: Support request submission in batch
...
Cache and batch IO requests after parsing all
items in the queue, improving performance—especially
for small block sizes—by reducing per-request overhead.
Introduced two methods in the AsyncIo trait for batch
submission, with implementation in the raw disk backend.
This method should be called during/after parsing all block IO requests
in the available queue. If the batch submission is not enabled, by
default it does the old way of submitting requests.
Signed-off-by: Bo Chen <bchen@crusoe.ai >
Signed-off-by: Muminul Islam <muislam@microsoft.com >
2025-09-02 16:29:25 +00:00
Muminul Islam
67ab81874a
block: virtio-devices: block: Clarify the return of execute_async()
...
Instead of returning boolean return an struct of completion status
so that it can be cached for batch submission.
Signed-off-by: Bo Chen <bchen@crusoe.ai >
Signed-off-by: Muminul Islam <muislam@microsoft.com >
2025-09-02 16:29:25 +00:00
dependabot[bot]
8b2af1a2c8
build: Bump crate-ci/typos from 1.35.5 to 1.35.6
...
Bumps [crate-ci/typos](https://github.com/crate-ci/typos ) from 1.35.5 to 1.35.6.
- [Release notes](https://github.com/crate-ci/typos/releases )
- [Changelog](https://github.com/crate-ci/typos/blob/master/CHANGELOG.md )
- [Commits](https://github.com/crate-ci/typos/compare/v1.35.5...v1.35.6 )
---
updated-dependencies:
- dependency-name: crate-ci/typos
dependency-version: 1.35.6
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-08-29 00:14:07 +00:00
dependabot[bot]
41930d11f7
build: Bump syn from 2.0.104 to 2.0.106
...
Bumps [syn](https://github.com/dtolnay/syn ) from 2.0.104 to 2.0.106.
- [Release notes](https://github.com/dtolnay/syn/releases )
- [Commits](https://github.com/dtolnay/syn/compare/2.0.104...2.0.106 )
---
updated-dependencies:
- dependency-name: syn
dependency-version: 2.0.106
dependency-type: indirect
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-08-28 23:51:00 +00:00
dependabot[bot]
9c85fbb1af
build: Bump proc-macro2 from 1.0.95 to 1.0.101
...
Bumps [proc-macro2](https://github.com/dtolnay/proc-macro2 ) from 1.0.95 to 1.0.101.
- [Release notes](https://github.com/dtolnay/proc-macro2/releases )
- [Commits](https://github.com/dtolnay/proc-macro2/compare/1.0.95...1.0.101 )
---
updated-dependencies:
- dependency-name: proc-macro2
dependency-version: 1.0.101
dependency-type: indirect
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-08-28 18:36:49 +00:00
dependabot[bot]
5357761c37
build: Bump async-io from 2.4.1 to 2.5.0
...
Bumps [async-io](https://github.com/smol-rs/async-io ) from 2.4.1 to 2.5.0.
- [Release notes](https://github.com/smol-rs/async-io/releases )
- [Changelog](https://github.com/smol-rs/async-io/blob/master/CHANGELOG.md )
- [Commits](https://github.com/smol-rs/async-io/compare/v2.4.1...v2.5.0 )
---
updated-dependencies:
- dependency-name: async-io
dependency-version: 2.5.0
dependency-type: indirect
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-08-26 20:36:12 +00:00
dependabot[bot]
bec975a7fc
build: Bump wait-timeout from 0.2.0 to 0.2.1
...
Bumps [wait-timeout](https://github.com/alexcrichton/wait-timeout ) from 0.2.0 to 0.2.1.
- [Commits](https://github.com/alexcrichton/wait-timeout/compare/0.2.0...0.2.1 )
---
updated-dependencies:
- dependency-name: wait-timeout
dependency-version: 0.2.1
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-08-26 18:19:48 +00:00
Songqian Li
92370e8ff1
block: Using feature bits to check the read-only flag
...
This patch changes the read-only check using acked features bit, which
will help to check more features.
Signed-off-by: Songqian Li <sionli@tencent.com >
2025-08-26 15:45:45 +00:00
dependabot[bot]
4a1eb0c485
build: Bump cc from 1.2.27 to 1.2.34
...
Bumps [cc](https://github.com/rust-lang/cc-rs ) from 1.2.27 to 1.2.34.
- [Release notes](https://github.com/rust-lang/cc-rs/releases )
- [Changelog](https://github.com/rust-lang/cc-rs/blob/main/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/cc-rs/compare/cc-v1.2.27...cc-v1.2.34 )
---
updated-dependencies:
- dependency-name: cc
dependency-version: 1.2.34
dependency-type: indirect
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-08-26 14:47:49 +00:00
Peter Oskolkov
6e6cf099ef
hypervisor: enable x2apic API in kvm on x86_64
...
Also tweak extended interrupt handlings, as needed.
Most credit should go to Neel Natu, who figured out the magic
bits needed to make things work and provided detailed comments.
This patch is still NOOP, as VM config allows only up to
254 vCPUs on x86_64.
Note: changes in this and related previous patches/PRs have
only been tested on Linux hosts running on Intel x86_64 hardware.
Signed-off-by: Barret Rhoden <brho@google.com >
Signed-off-by: Neel Natu <neelnatu@google.com >
Signed-off-by: Ofir Weisse <oweisse@google.com >
Signed-off-by: Peter Oskolkov <posk@google.com >
2025-08-25 23:20:19 +00:00
Anirudh Rayabharam
6e002defe2
tests: remove redundant arch check in bzimage test
...
test_direct_kernel_boot_bzimage runs only on x86, so the cfg!() branch
for selecting grep_cmd is unnecessary. Remove it for clarity.
Signed-off-by: Anirudh Rayabharam <anrayabh@microsoft.com >
2025-08-24 16:37:47 +00:00
Philipp Schuster
a51998605a
net_util: add Tap::if_name_as_str
...
Signed-off-by: Philipp Schuster <philipp.schuster@cyberus-technology.de >
On-behalf-of: SAP philipp.schuster@sap.com
2025-08-23 08:43:33 +00:00
Philipp Schuster
b8be33dff7
net_util: tap: remove needless copy
...
One can call `to_vec()` anyway if one needs an owned copy. This change
further helps to prevent needless copies in upcoming changes.
Signed-off-by: Philipp Schuster <philipp.schuster@cyberus-technology.de >
On-behalf-of: SAP philipp.schuster@sap.com
2025-08-23 08:43:33 +00:00
dependabot[bot]
3864230430
build: Bump autocfg from 1.4.0 to 1.5.0
...
Bumps [autocfg](https://github.com/cuviper/autocfg ) from 1.4.0 to 1.5.0.
- [Commits](https://github.com/cuviper/autocfg/compare/1.4.0...1.5.0 )
---
updated-dependencies:
- dependency-name: autocfg
dependency-version: 1.5.0
dependency-type: indirect
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-08-23 08:20:59 +00:00
Philipp Schuster
2c6426460e
vmm: harmonize bootpath across architectures
...
On aarch64 and RISC-V, calling load_firmware() through load_kernel()
provides no benefit and only duplicates checks already performed in
load_payload(). load_payload() now directly invokes load_firmware() or
load_kernel(), removing unnecessary indirection and redundancy.
Signed-off-by: Philipp Schuster <philipp.schuster@cyberus-technology.de >
On-behalf-of: SAP philipp.schuster@sap.com
2025-08-22 16:41:29 +00:00
Bo Chen
1a63b4b2ff
vmm: Consolidate 'load_firmware/kernel' for aarch64 and riscv
...
Both functions are defined separately for the two architecture with
minor differences.
* `load_firmware()`: call `arch::uefi::load_uefi` which are available on
both architecture;
* `load_kernel()`: manually align to `arch::layout::KERNEL_START` 2MB
for both architecture (e.g. no-op for `aarch64`);
Signed-off-by: Bo Chen <bchen@crusoe.ai >
2025-08-21 15:32:05 +00:00
Philipp Schuster
c1f4df600f
vmm: cpu_manager: massively accelerate .pause()
...
With 254 vCPUs, pausing now takes ~4ms instead of >254ms. This
improvement is visible when running `ch-remote pause` and is
particularly important for live migration, where every millisecond
of downtime matters.
For the wait logic, it is fine to stick to the approach of
sleeping 1ms on the first missed ACK as:
1) we have to wait anyway
2) we give time to the OS, enabling it to schedule a vCPU thread next
Signed-off-by: Philipp Schuster <philipp.schuster@cyberus-technology.de >
On-behalf-of: SAP philipp.schuster@sap.com
2025-08-20 12:51:23 +00:00
Ruoqing He
34c5a081aa
ci: Enable kvm build test on RISC-V
...
Enable kvm build test and clippy test on RISC-V 64-bit platform to
ensure whole projects builds properly.
Signed-off-by: Ruoqing He <heruoqing@iscas.ac.cn >
2025-08-20 03:20:09 +00:00
dependabot[bot]
3bff69734e
build: Bump crate-ci/typos from 1.35.4 to 1.35.5
...
Bumps [crate-ci/typos](https://github.com/crate-ci/typos ) from 1.35.4 to 1.35.5.
- [Release notes](https://github.com/crate-ci/typos/releases )
- [Changelog](https://github.com/crate-ci/typos/blob/master/CHANGELOG.md )
- [Commits](https://github.com/crate-ci/typos/compare/v1.35.4...v1.35.5 )
---
updated-dependencies:
- dependency-name: crate-ci/typos
dependency-version: 1.35.5
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-08-20 02:57:03 +00:00
dependabot[bot]
91d15c331d
build: Bump signal-hook-registry from 1.4.2 to 1.4.6
...
Bumps [signal-hook-registry](https://github.com/vorner/signal-hook ) from 1.4.2 to 1.4.6.
- [Changelog](https://github.com/vorner/signal-hook/blob/master/CHANGELOG.md )
- [Commits](https://github.com/vorner/signal-hook/compare/registry-v1.4.2...registry-v1.4.6 )
---
updated-dependencies:
- dependency-name: signal-hook-registry
dependency-version: 1.4.6
dependency-type: indirect
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-08-19 18:07:05 +00:00
dependabot[bot]
e454bb629a
build: Bump mintex from 0.1.3 to 0.1.4
...
Bumps [mintex](https://github.com/garypen/mintex ) from 0.1.3 to 0.1.4.
- [Commits](https://github.com/garypen/mintex/compare/v0.1.3...v0.1.4 )
---
updated-dependencies:
- dependency-name: mintex
dependency-version: 0.1.4
dependency-type: indirect
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-08-19 12:37:27 +00:00
dependabot[bot]
09cf8fba5b
build: Bump bitflags from 2.9.0 to 2.9.2
...
Bumps [bitflags](https://github.com/bitflags/bitflags ) from 2.9.0 to 2.9.2.
- [Release notes](https://github.com/bitflags/bitflags/releases )
- [Changelog](https://github.com/bitflags/bitflags/blob/main/CHANGELOG.md )
- [Commits](https://github.com/bitflags/bitflags/compare/2.9.0...2.9.2 )
---
updated-dependencies:
- dependency-name: bitflags
dependency-version: 2.9.2
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-08-19 10:34:42 +00:00
Philipp Schuster
c34baac649
build: fix warnings from latest nightly (1.91)
...
The underlying problem currently causes unrelated PRs to fail.
This commit fixes that.
Signed-off-by: Philipp Schuster <philipp.schuster@cyberus-technology.de >
On-behalf-of: SAP philipp.schuster@sap.com
2025-08-18 10:52:23 +00:00
dependabot[bot]
a132001021
build: Bump smallvec from 1.13.2 to 1.15.1
...
Bumps [smallvec](https://github.com/servo/rust-smallvec ) from 1.13.2 to 1.15.1.
- [Release notes](https://github.com/servo/rust-smallvec/releases )
- [Commits](https://github.com/servo/rust-smallvec/compare/v1.13.2...v1.15.1 )
---
updated-dependencies:
- dependency-name: smallvec
dependency-version: 1.15.1
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-08-16 00:16:43 +00:00
Peter Oskolkov
2c7d6be3f4
arch: don't construct mptable on x86_64 if too many CPUs
...
MP table is a legacy device that is incompatible
with x2apic CPU IDs exceeding 254. The Linux kernel
is perfectly happy without MP table in these cases.
Signed-off-by: Barret Rhoden <brho@google.com >
Signed-off-by: Neel Natu <neelnatu@google.com >
Signed-off-by: Ofir Weisse <oweisse@google.com >
Signed-off-by: Peter Oskolkov <posk@google.com >
2025-08-15 19:15:11 +00:00
Philipp Schuster
dd8687aebb
vmm: add enum PayloadConfigError validation to improve error reporting
...
Currently, the following scenarios are supported by Cloud Hypervisor to
bootstrap a VM:
1. provide firmware
2. provide kernel
3. provide kernel + cmdline
4. provide kernel + initrd
5. provide kernel + cmdline + initrd
As the difference between `--firmware` and `--kernel` is not very clear
currently, especially as both use/support a Xen PVH entry, adding this
helps to identify the cause of misconfiguration.
Signed-off-by: Philipp Schuster <philipp.schuster@cyberus-technology.de >
On-behalf-of: SAP philipp.schuster@sap.com
2025-08-15 17:08:37 +00:00
Philipp Schuster
dac0638fe8
misc: fix clippy
...
Signed-off-by: Philipp Schuster <philipp.schuster@cyberus-technology.de >
On-behalf-of: SAP philipp.schuster@sap.com
2025-08-15 10:55:48 +00:00
Philipp Schuster
92f415ea3f
build: Bump MSRV to 1.88
...
This is necessary to use the let-chains feature in a
follow-up. After upgrading to Rust edition 2024, clippy
wants to collapse various if's with let-chains.
Update image to 20250815-0 since MSRV in Dockerfile is updated.
Signed-off-by: Philipp Schuster <philipp.schuster@cyberus-technology.de >
On-behalf-of: SAP philipp.schuster@sap.com
2025-08-15 10:55:48 +00:00
dependabot[bot]
78799187e8
build: Bump event-listener from 5.4.0 to 5.4.1
...
Bumps [event-listener](https://github.com/smol-rs/event-listener ) from 5.4.0 to 5.4.1.
- [Release notes](https://github.com/smol-rs/event-listener/releases )
- [Changelog](https://github.com/smol-rs/event-listener/blob/master/CHANGELOG.md )
- [Commits](https://github.com/smol-rs/event-listener/compare/v5.4.0...v5.4.1 )
---
updated-dependencies:
- dependency-name: event-listener
dependency-version: 5.4.1
dependency-type: indirect
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-08-15 00:40:17 +00:00
Songqian Li
9011ff2161
tests: add ivshmem live migration test case
...
Signed-off-by: Songqian Li <sionli@tencent.com >
2025-08-14 22:14:34 +00:00
Songqian Li
5128ee9ba6
devices, vmm: Handle ivshmem bar reprogramming properly
...
Signed-off-by: Bo Chen <bchen@crusoe.ai >
Signed-off-by: Songqian Li <sionli@tencent.com >
2025-08-14 22:14:34 +00:00
Songqian Li
51e095c54d
ci: add build and quality check for ivshmem feature
...
Signed-off-by: Songqian Li <sionli@tencent.com >
2025-08-14 22:14:34 +00:00
Songqian Li
4c1ee0329e
tests: add ivshmem integration test case
...
Signed-off-by: Songqian Li <sionli@tencent.com >
2025-08-14 22:14:34 +00:00
Songqian Li
a09c8329fb
fuzz: add ivshmem device config
...
Signed-off-by: Songqian Li <sionli@tencent.com >
2025-08-14 22:14:34 +00:00
Songqian Li
f0febcae3d
docs: add ivshmem device introduction
...
Signed-off-by: Songqian Li <sionli@tencent.com >
2025-08-14 22:14:34 +00:00
Songqian Li
2c282a5a54
vmm: ivshmem device support
...
Signed-off-by: Yi Wang <foxywang@tencent.com >
Signed-off-by: Songqian Li <sionli@tencent.com >
2025-08-14 22:14:34 +00:00
Songqian Li
c72414552b
devices: introduce ivshmem device
...
This patch introduces the inter-vm shared memory(ivshmem) device
to share a memory region between multiple processes running
different guests and the host.
This patch supports the basic ivshmem functions like ivshmem-plain
in QEMU[1].
[1] https://www.qemu.org/docs/master/specs/ivshmem-spec.html
Signed-off-by: Yi Wang <foxywang@tencent.com >
Signed-off-by: Songqian Li <sionli@tencent.com >
2025-08-14 22:14:34 +00:00
Songqian Li
bd17c84d3c
virtio-devices: move userspace mapping to vm-device
...
Move UserspaceMapping to vm-device to avoid redefinition since
UserspaceMapping is used by both `virtio-devices` and `device`
crate.
Signed-off-by: Songqian Li <sionli@tencent.com >
2025-08-14 22:14:34 +00:00
dependabot[bot]
55212b0437
build: Bump crate-ci/typos from 1.35.3 to 1.35.4
...
Bumps [crate-ci/typos](https://github.com/crate-ci/typos ) from 1.35.3 to 1.35.4.
- [Release notes](https://github.com/crate-ci/typos/releases )
- [Changelog](https://github.com/crate-ci/typos/blob/master/CHANGELOG.md )
- [Commits](https://github.com/crate-ci/typos/compare/v1.35.3...v1.35.4 )
---
updated-dependencies:
- dependency-name: crate-ci/typos
dependency-version: 1.35.4
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-08-14 17:31:00 +00:00
Peter Oskolkov
84613d4273
arch: enable x2apic mode on x86_64 if max apic id > 254
...
This patch builds on PRs
https://github.com/cloud-hypervisor/cloud-hypervisor/pull/7231
https://github.com/cloud-hypervisor/cloud-hypervisor/pull/7261
As before, the changes won't be effective until config
parsing/validation raises the vCPU limit.
Signed-off-by: Barret Rhoden <brho@google.com >
Signed-off-by: Neel Natu <neelnatu@google.com >
Signed-off-by: Ofir Weisse <oweisse@google.com >
Signed-off-by: Peter Oskolkov <posk@google.com >
2025-08-14 08:39:15 +00:00
Peter Oskolkov
34385e99f2
misc: simplify configure_vcpu() signature on x86_64
...
It is always called with topology provided, so there is no
need to pass topology as an Option. Simplifying the signature
makes further topology-related changes to arc/src/x86_64 module
simpler.
Signed-off-by: Peter Oskolkov <posk@google.com >
2025-08-14 08:39:15 +00:00
dependabot[bot]
10b79431f6
build: Bump linux-loader from d5f39c0 to 5fdaed8
...
Bumps [linux-loader](https://github.com/rust-vmm/linux-loader ) from `d5f39c0` to `5fdaed8`.
- [Release notes](https://github.com/rust-vmm/linux-loader/releases )
- [Commits](d5f39c09d5...5fdaed87dd )
---
updated-dependencies:
- dependency-name: linux-loader
dependency-version: 5fdaed87ddafc89d6abf0b50195a12d19133000d
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-08-13 23:50:30 +00:00
dependabot[bot]
3d5e5f318b
build: Bump actions/checkout from 4 to 5
...
Bumps [actions/checkout](https://github.com/actions/checkout ) from 4 to 5.
- [Release notes](https://github.com/actions/checkout/releases )
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md )
- [Commits](https://github.com/actions/checkout/compare/v4...v5 )
---
updated-dependencies:
- dependency-name: actions/checkout
dependency-version: '5'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-08-13 18:11:18 +00:00
dependabot[bot]
68a1bf38e5
build: Bump gdbstub_arch from 0.3.0 to 0.3.2
...
Bumps [gdbstub_arch](https://github.com/daniel5151/gdbstub ) from 0.3.0 to 0.3.2.
- [Release notes](https://github.com/daniel5151/gdbstub/releases )
- [Changelog](https://github.com/daniel5151/gdbstub/blob/master/CHANGELOG.md )
- [Commits](https://github.com/daniel5151/gdbstub/commits )
---
updated-dependencies:
- dependency-name: gdbstub_arch
dependency-version: 0.3.2
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-08-13 07:31:57 +00:00
Peter Oskolkov
6e0403a959
misc: make topology a 4-tuple of u16s
...
This is the second patch in a series intended to let Cloud Hypervisor
support more than 255 vCPUs in guest VMs; the first patch/commit is
https://github.com/cloud-hypervisor/cloud-hypervisor/pull/7231
At the moment, CPU topology in Cloud Hypervisor is using
u8 for components, and somewhat inconsistently:
- struct CpuTopology in vmm/src/vm_config.rs uses four components
(threads_per_core, cores_per_die, dies_per_package, packages);
- when passed around as a tuple, it is a 3-tuple of u8, with
some inconsistency:
- in get_x2apic_id in arch/src/x86_64/mod.rs the three u8
are assumed to be (correctly)
threads_per_core, cores_per_die, and dies_per_package, but
- in get_vcpu_topology() in vmm/src/cpu.rs the three-tuple is
threads_per_core, cores_per_die, and packages (dies_per_package
is assumed to always be one? not clear).
So for consistency, a 4-tuple is always passed around.
In addition, the types of the tuple components is changed from u8 to
u16, as on x86_64 subcomponents can consume up to 16 bits.
Again, config constraints have not been changed, so this patch
is mostly NOOP.
Signed-off-by: Barret Rhoden <brho@google.com >
Signed-off-by: Neel Natu <neelnatu@google.com >
Signed-off-by: Ofir Weisse <oweisse@google.com >
Signed-off-by: Peter Oskolkov <posk@google.com >
2025-08-13 07:31:22 +00:00
dependabot[bot]
364a0972f0
build: Bump rustversion from 1.0.21 to 1.0.22
...
Bumps [rustversion](https://github.com/dtolnay/rustversion ) from 1.0.21 to 1.0.22.
- [Release notes](https://github.com/dtolnay/rustversion/releases )
- [Commits](https://github.com/dtolnay/rustversion/compare/1.0.21...1.0.22 )
---
updated-dependencies:
- dependency-name: rustversion
dependency-version: 1.0.22
dependency-type: indirect
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-08-12 23:57:55 +00:00
dependabot[bot]
9283f87f90
build: Bump igvm from 01daa63 to dff4ebc
...
Bumps [igvm](https://github.com/microsoft/igvm ) from `01daa63` to `dff4ebc`.
- [Release notes](https://github.com/microsoft/igvm/releases )
- [Commits](01daa631a5...dff4ebc9c5 )
---
updated-dependencies:
- dependency-name: igvm
dependency-version: dff4ebc9c5bd16707ff75de26ccabe2d4dfdbcd8
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-08-12 22:06:14 +00:00
dependabot[bot]
458721629c
build: Bump zvariant from 5.5.3 to 5.6.0
...
Bumps [zvariant](https://github.com/dbus2/zbus ) from 5.5.3 to 5.6.0.
- [Release notes](https://github.com/dbus2/zbus/releases )
- [Commits](https://github.com/dbus2/zbus/compare/zvariant-5.5.3...zvariant-5.6.0 )
---
updated-dependencies:
- dependency-name: zvariant
dependency-version: 5.6.0
dependency-type: indirect
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-08-12 18:05:31 +00:00
dependabot[bot]
d70d132a5c
build: Bump errno from 0.3.12 to 0.3.13
...
Bumps [errno](https://github.com/lambda-fairy/rust-errno ) from 0.3.12 to 0.3.13.
- [Release notes](https://github.com/lambda-fairy/rust-errno/releases )
- [Changelog](https://github.com/lambda-fairy/rust-errno/blob/main/CHANGELOG.md )
- [Commits](https://github.com/lambda-fairy/rust-errno/compare/v0.3.12...v0.3.13 )
---
updated-dependencies:
- dependency-name: errno
dependency-version: 0.3.13
dependency-type: indirect
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-08-12 11:29:15 +00:00
dependabot[bot]
35121c44db
build: Bump slab from 0.4.9 to 0.4.11
...
Bumps [slab](https://github.com/tokio-rs/slab ) from 0.4.9 to 0.4.11.
- [Release notes](https://github.com/tokio-rs/slab/releases )
- [Changelog](https://github.com/tokio-rs/slab/blob/master/CHANGELOG.md )
- [Commits](https://github.com/tokio-rs/slab/compare/v0.4.9...v0.4.11 )
---
updated-dependencies:
- dependency-name: slab
dependency-version: 0.4.11
dependency-type: indirect
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-08-12 07:44:17 +00:00
Peter Oskolkov
aa8e9cd91a
misc: Change cpu ID type from u8 to u32
...
This is the first change to Cloud Hypervisor in a series of changes
intended to increase the max number of supported vCPUs in guest VMs,
which is currently limited to 255 (254 on x86_64).
No user-visible/behavior changes are expected as a result of
applying this patch, as the type of boot_cpus and related
fields in config structs remains u8 for now, and all configuration
validations remain the same.
Signed-off-by: Barret Rhoden <brho@google.com >
Signed-off-by: Neel Natu <neelnatu@google.com >
Signed-off-by: Ofir Weisse <oweisse@google.com >
Signed-off-by: Peter Oskolkov <posk@google.com >
2025-08-11 20:31:50 +00:00
Alex Orozco
5d478c534e
tests: Add fw_cfg device integration test
...
This test verifies that we can see custom items added to the fw_cfg
device from inside the guest
Signed-off-by: Alex Orozco <alexorozco@google.com >
2025-08-11 17:29:51 +00:00
Alex Orozco
a70c1b38e7
devices: Add fw_cfg cli options
...
This allows us to enable/disable the fw_cfg device via the cli
We can also now upload files into the guest vm using fw_cfg_items
via the cli
Signed-off-by: Alex Orozco <alexorozco@google.com >
2025-08-11 17:29:51 +00:00
Alex Orozco
971f552e09
vmm: Add acpi table for fw_cfg device
...
This allows the fw_cfg device to be recognized by the guest linux
kernel. This becomes more relavnt in the following cl where I add
the option to load files into the guest via fw_cfg. The Linux kernel
already has a fw_cfg driver that will automatically load these files
under /sys when CONFIG_FW_CFG_SYSFS is enabled in the kernel config
For arm we must add fw_cfg to the devices tree
Signed-off-by: Alex Orozco <alexorozco@google.com >
2025-08-11 17:29:51 +00:00
Alex Orozco
edee53ac1a
devices: Implement DMA for fw_cfg device
...
We pass a reference to the guest memory when we create the device
in DeviceManager. This allows us to access the guest memory for DMA.
Signed-off-by: Alex Orozco <alexorozco@google.com >
2025-08-11 17:29:51 +00:00
Alex Orozco
1f51e4525b
devices: Add acpi tables to fw_cfg
...
The acpi tables are created in the same place the acpi tables would be
created for the regular bootflow, except here we add them to the
fw_cfg device to be measured by the fw and then the fw will put the
acpi tables into memory.
Signed-off-by: Alex Orozco <alexorozco@google.com >
2025-08-11 17:29:51 +00:00
Alex Orozco
f0b69d56d0
devices: Add e820/memory_map to fw_cfg device
...
We build the memory map in the fw_cfg device based on the memory size.
Signed-off-by: Alex Orozco <alexorozco@google.com >
2025-08-11 17:29:51 +00:00
Alex Orozco
623fadfa9d
devices: Add kernel cmdline, kernel, and initramfs to fw_cfg device
...
The kernel and initramfs are passed to the fw_cfg device as
file references. The cmdline is passed directly.
Signed-off-by: Alex Orozco <alexorozco@google.com >
2025-08-11 17:29:51 +00:00
Alex Orozco
777b7ee11e
devices: Add fw_cfg device
...
Here we add the fw_cfg device as a legacy device to the device manager.
It is guarded behind a fw_cfg flag in vmm at creation of the
DeviceManager. In this cl we implement the fw_cfg device with one
function (signature).
Signed-off-by: Alex Orozco <alexorozco@google.com >
2025-08-11 17:29:51 +00:00
Philipp Schuster
5226ceb974
misc: switch error output from error! back to stderr
...
This partially reverts
ed8f347fe6 from #7183 and
6277d7d5f2 from #7201 .
# Output how it was merged for v47 (#7066 )
```
Error: Cloud Hypervisor exited with the following chain of errors:
0: Error booting VM
1: The VM could not boot
2: Error manipulating firmware file
3: No such file or directory (os error 2)
Debug Info: VmBoot(VmBoot(FirmwareFile(Os { code: 2, kind: NotFound, message: "No such file or directory" })))
```
# Output after #7183 and #7201
```
cloud-hypervisor: 31.385730ms: <main> ERROR:/home/pschuster/dev/cloud-hypervisor/src/lib.rs:27 -- Error: Cloud Hypervisor exited with the following chain of errors:
cloud-hypervisor: 31.417961ms: <main> ERROR:/home/pschuster/dev/cloud-hypervisor/src/lib.rs:39 -- 0: Error booting VM
cloud-hypervisor: 31.448078ms: <main> ERROR:/home/pschuster/dev/cloud-hypervisor/src/lib.rs:39 -- 1: The VM could not boot
cloud-hypervisor: 31.486711ms: <main> ERROR:/home/pschuster/dev/cloud-hypervisor/src/lib.rs:39 -- 2: Error manipulating firmware file
cloud-hypervisor: 31.513331ms: <main> ERROR:/home/pschuster/dev/cloud-hypervisor/src/lib.rs:39 -- 3: No such file or directory (os error 2)
cloud-hypervisor: 31.548037ms: <main> ERROR:/home/pschuster/dev/cloud-hypervisor/src/lib.rs:44 --
cloud-hypervisor: 31.568045ms: <main> ERROR:/home/pschuster/dev/cloud-hypervisor/src/lib.rs:45 -- Debug Info: VmBoot(VmBoot(FirmwareFile(Os { code: 2, kind: NotFound, message: "No such file or directory" })))
```
The "proper logger" has indeed the advantage that messages can
be gracefully redirected to log files etc. However, this makes the
error message hardly readable.
Therefore, I propose to use error!() only for runtime errors messages
but not a pretty-printed version of those.
Signed-off-by: Philipp Schuster <philipp.schuster@cyberus-technology.de >
On-behalf-of: SAP philipp.schuster@sap.com
2025-08-11 10:41:11 +00:00
Ruoqing He
17195e1a46
vmm: Enable firmware boot for riscv64
...
Implement firmware boot (UEFI boot) for riscv64 architecture.
Signed-off-by: Ruoqing He <heruoqing@iscas.ac.cn >
2025-08-11 10:10:27 +00:00
Ruoqing He
0df4b1ac4f
vmm: Define riscv64 UEFI Error
...
Error::UefiLoad is required for load_firmware to propagate errors
encountered, define it for riscv64.
Signed-off-by: Ruoqing He <heruoqing@iscas.ac.cn >
2025-08-11 10:10:27 +00:00
Ruoqing He
2e0ec8095c
vmm: Enable uefi_flash field for riscv64
...
uefi_flash field in memory_manager is required for uefi loading and
booting, enable it for riscv64 architecture.
Signed-off-by: Ruoqing He <heruoqing@iscas.ac.cn >
2025-08-11 10:10:27 +00:00
Ruoqing He
ef2bbe5012
arch: riscv: Introduce UEFI module
...
Provide Error definitions and load_uefi to be referenced while loading
firmware.
Signed-off-by: Ruoqing He <heruoqing@iscas.ac.cn >
2025-08-11 10:10:27 +00:00
Ruoqing He
2524b015b8
arch: riscv: Introduce UEFI related constants
...
Set UEFI_START and UEFI_SIZE for riscv64 layout.
Signed-off-by: Ruoqing He <heruoqing@iscas.ac.cn >
2025-08-11 10:10:27 +00:00
Demi Marie Obenour
9825397350
misc: option_parser: allow quoting special characters
...
The option parser did not allow quoting any special characters, which
means that some strings could not be passed via command-line options.
Fix this by allowing double quotes to quote all the special characters,
such as '@', ',', '[', and ']'. '"' can be escaped by doubling it. The
implementation uses some tricks to stay modular.
Signed-off-by: Demi Marie Obenour <demiobenour@gmail.com >
2025-08-10 11:25:24 +00:00
Songqian Li
a637940be7
ci: Fix link check failed
...
### Errors in src/main.rs
* [404] <https://github.com/cloud-hypervisor/cloud-hypervisor/issues/new
/n> | Rejected status code (this depends on your "accept" configuration)
: Not Found
Signed-off-by: Songqian Li <sionli@tencent.com >
2025-08-10 09:14:07 +00:00
Songqian Li
684fb1dfce
ci: Improve link checker conditions
...
Link checker excludes checks on local links and links with variables.
Signed-off-by: Songqian Li <sionli@tencent.com >
2025-08-10 09:14:07 +00:00
dependabot[bot]
e718e0ad36
build: Bump async-trait from 0.1.86 to 0.1.88
...
Bumps [async-trait](https://github.com/dtolnay/async-trait ) from 0.1.86 to 0.1.88.
- [Release notes](https://github.com/dtolnay/async-trait/releases )
- [Commits](https://github.com/dtolnay/async-trait/compare/0.1.86...0.1.88 )
---
updated-dependencies:
- dependency-name: async-trait
dependency-version: 0.1.88
dependency-type: indirect
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-08-09 01:23:59 +00:00
dependabot[bot]
f87772cd36
build: Bump crate-ci/typos from 1.35.2 to 1.35.3
...
Bumps [crate-ci/typos](https://github.com/crate-ci/typos ) from 1.35.2 to 1.35.3.
- [Release notes](https://github.com/crate-ci/typos/releases )
- [Changelog](https://github.com/crate-ci/typos/blob/master/CHANGELOG.md )
- [Commits](https://github.com/crate-ci/typos/compare/v1.35.2...v1.35.3 )
---
updated-dependencies:
- dependency-name: crate-ci/typos
dependency-version: 1.35.3
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-08-09 00:29:54 +00:00
dependabot[bot]
0d9a941a2c
build: Bump redox_users from 0.5.0 to 0.5.2
...
Bumps redox_users from 0.5.0 to 0.5.2.
---
updated-dependencies:
- dependency-name: redox_users
dependency-version: 0.5.2
dependency-type: indirect
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-08-08 04:58:07 +00:00
dependabot[bot]
4f4940b02a
build: Bump crate-ci/typos from 1.35.1 to 1.35.2
...
Bumps [crate-ci/typos](https://github.com/crate-ci/typos ) from 1.35.1 to 1.35.2.
- [Release notes](https://github.com/crate-ci/typos/releases )
- [Changelog](https://github.com/crate-ci/typos/blob/master/CHANGELOG.md )
- [Commits](https://github.com/crate-ci/typos/compare/v1.35.1...v1.35.2 )
---
updated-dependencies:
- dependency-name: crate-ci/typos
dependency-version: 1.35.2
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-08-08 00:18:56 +00:00
Songqian Li
0bfa160360
hypervisor: Replacing pdf link with new available link
...
Replacing pdf link with new available link to fix the failed CI.
Signed-off-by: Songqian Li <sionli@tencent.com >
2025-08-07 16:53:59 +00:00
Songqian Li
530719a57a
build: Bump MSRV to 1.87.0
...
rustc 1.90.0-beta.1 (788da80fc 2025-08-04) suggests using library
feature `unsigned_is_multiple_of`. It is stabled in Rust 1.87.0.
Update image to 20250807-0 since MSRV in Dockerfile is updated.
Signed-off-by: Songqian Li <sionli@tencent.com >
Signed-off-by: Bo Chen <bchen@crusoe.ai >
2025-08-07 16:53:59 +00:00
Songqian Li
cd2c43b489
misc: Fix beta clippy errors
...
Fix clippy error: "error: manual implementation of `.is_multiple_of()
`" from rustc 1.90.0-beta.1 (788da80fc 2025-08-04).
Signed-off-by: Songqian Li <sionli@tencent.com >
2025-08-07 16:53:59 +00:00
Bo Chen
394fd230b0
vmm: acpi: Clarify the return of 'create_acpi_tables_internal'
...
Signed-off-by: Bo Chen <bchen@crusoe.ai >
2025-08-06 21:11:27 +00:00
Bo Chen
abcec231eb
vmm: acpi: Clarify variable naming in 'create_acpi_tables_internal'
...
When generating ACPI tables, we are not using "offset", instead we
are using (guest physical) addresses.
Signed-off-by: Bo Chen <bchen@crusoe.ai >
2025-08-06 21:11:27 +00:00
Bo Chen
cda1ea53a5
vmm: acpi: Make 'create_acpi_tables' more flexible
...
Now 'create_acpi_tables_internal()' can generate ACPI tables with
different dsdt offset, so that it can be reused for generating ACPI
tables for `fw_cfg`.
Signed-off-by: Bo Chen <bchen@crusoe.ai >
Signed-off-by: Alex Orozco <alexorozco@google.com >
2025-08-06 21:11:27 +00:00
dependabot[bot]
e2d2b2f2f0
build: Bump rand from 0.9.1 to 0.9.2
...
Bumps [rand](https://github.com/rust-random/rand ) from 0.9.1 to 0.9.2.
- [Release notes](https://github.com/rust-random/rand/releases )
- [Changelog](https://github.com/rust-random/rand/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-random/rand/compare/rand_core-0.9.1...rand_core-0.9.2 )
---
updated-dependencies:
- dependency-name: rand
dependency-version: 0.9.2
dependency-type: indirect
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-08-05 12:12:45 +00:00
dependabot[bot]
9ee3b29a11
build: Bump crate-ci/typos from 1.34.0 to 1.35.1
...
Bumps [crate-ci/typos](https://github.com/crate-ci/typos ) from 1.34.0 to 1.35.1.
- [Release notes](https://github.com/crate-ci/typos/releases )
- [Changelog](https://github.com/crate-ci/typos/blob/master/CHANGELOG.md )
- [Commits](https://github.com/crate-ci/typos/compare/v1.34.0...v1.35.1 )
---
updated-dependencies:
- dependency-name: crate-ci/typos
dependency-version: 1.35.1
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-08-05 08:15:40 +00:00
dependabot[bot]
eb147cb3cc
build: Bump rustc-demangle from 0.1.24 to 0.1.26
...
Bumps [rustc-demangle](https://github.com/rust-lang/rustc-demangle ) from 0.1.24 to 0.1.26.
- [Release notes](https://github.com/rust-lang/rustc-demangle/releases )
- [Changelog](https://github.com/rust-lang/rustc-demangle/blob/main/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/rustc-demangle/compare/0.1.24...rustc-demangle-v0.1.26 )
---
updated-dependencies:
- dependency-name: rustc-demangle
dependency-version: 0.1.26
dependency-type: indirect
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-08-05 07:06:06 +00:00
dependabot[bot]
b630b22ed9
build: Bump landlock from 0.4.0 to 0.4.2
...
Bumps [landlock](https://github.com/landlock-lsm/rust-landlock ) from 0.4.0 to 0.4.2.
- [Release notes](https://github.com/landlock-lsm/rust-landlock/releases )
- [Changelog](https://github.com/landlock-lsm/rust-landlock/blob/main/CHANGELOG.md )
- [Commits](https://github.com/landlock-lsm/rust-landlock/compare/v0.4.0...v0.4.2 )
---
updated-dependencies:
- dependency-name: landlock
dependency-version: 0.4.2
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-08-02 00:20:14 +00:00
dependabot[bot]
a7645ae9d6
build: Bump async-process from 2.3.0 to 2.4.0
...
Bumps [async-process](https://github.com/smol-rs/async-process ) from 2.3.0 to 2.4.0.
- [Release notes](https://github.com/smol-rs/async-process/releases )
- [Changelog](https://github.com/smol-rs/async-process/blob/master/CHANGELOG.md )
- [Commits](https://github.com/smol-rs/async-process/compare/v2.3.0...v2.4.0 )
---
updated-dependencies:
- dependency-name: async-process
dependency-version: 2.4.0
dependency-type: indirect
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-08-01 00:05:35 +00:00
dependabot[bot]
254db85a33
build: Bump anyhow from 1.0.94 to 1.0.98
...
Bumps [anyhow](https://github.com/dtolnay/anyhow ) from 1.0.94 to 1.0.98.
- [Release notes](https://github.com/dtolnay/anyhow/releases )
- [Commits](https://github.com/dtolnay/anyhow/compare/1.0.94...1.0.98 )
---
updated-dependencies:
- dependency-name: anyhow
dependency-version: 1.0.98
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-07-31 03:29:16 +00:00
dependabot[bot]
16b0e08482
build: Bump tj-actions/changed-files from 40 to 46 in /.github/workflows
...
Bumps [tj-actions/changed-files](https://github.com/tj-actions/changed-files ) from 40 to 46.
- [Release notes](https://github.com/tj-actions/changed-files/releases )
- [Changelog](https://github.com/tj-actions/changed-files/blob/main/HISTORY.md )
- [Commits](https://github.com/tj-actions/changed-files/compare/v40...v46 )
---
updated-dependencies:
- dependency-name: tj-actions/changed-files
dependency-version: '46'
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-07-31 00:01:11 +00:00
Shubham Chakrawar
8a37e154db
ci: Prevent link checker rate limits
...
Optimize lychee workflow to check only changed
files in pull requests, avoiding excessive API
calls to prevent rate limits.
Fixes #7056
Signed-off-by: Shubham Chakrawar <schakrawar@crusoe.ai >
2025-07-30 22:30:36 +00:00
dependabot[bot]
003e89e8cd
build: Bump anstream from 0.6.15 to 0.6.19
...
Bumps [anstream](https://github.com/rust-cli/anstyle ) from 0.6.15 to 0.6.19.
- [Commits](https://github.com/rust-cli/anstyle/compare/anstream-v0.6.15...anstream-v0.6.19 )
---
updated-dependencies:
- dependency-name: anstream
dependency-version: 0.6.19
dependency-type: indirect
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-07-30 00:37:23 +00:00
Muminul Islam
8e010f1aa3
vmm: don't configure system if rsdp is not available
...
In case of CVM guest rsdp is set to none. Unwrapping it
make the vmm crashed. Don't call configure system if the
rsdb address is none.
Signed-off-by: Muminul Islam <muislam@microsoft.com >
2025-07-29 15:55:06 +00:00
dependabot[bot]
7c631b2d1b
build: Bump toml_datetime from 0.6.8 to 0.6.11
...
Bumps [toml_datetime](https://github.com/toml-rs/toml ) from 0.6.8 to 0.6.11.
- [Commits](https://github.com/toml-rs/toml/compare/toml_datetime-v0.6.8...toml_datetime-v0.6.11 )
---
updated-dependencies:
- dependency-name: toml_datetime
dependency-version: 0.6.11
dependency-type: indirect
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-07-29 05:33:35 +00:00
dependabot[bot]
ba962a30d5
build: Bump r-efi from 5.2.0 to 5.3.0
...
Bumps [r-efi](https://github.com/r-efi/r-efi ) from 5.2.0 to 5.3.0.
- [Release notes](https://github.com/r-efi/r-efi/releases )
- [Changelog](https://github.com/r-efi/r-efi/blob/main/NEWS.md )
- [Commits](https://github.com/r-efi/r-efi/compare/v5.2.0...v5.3.0 )
---
updated-dependencies:
- dependency-name: r-efi
dependency-version: 5.3.0
dependency-type: indirect
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-07-29 03:50:24 +00:00
Oliver Anderson
8c136041cb
build: Use workspace dependencies
...
Many of the workspace members in the Cloud-hypervisor workspace share
common dependencies. Making these workspace dependencies reduces
duplication and improves maintainability.
Signed-off-by: Oliver Anderson <oliver.anderson@cyberus-technology.de >
On-behalf-of: SAP oliver.anderson@sap.com
2025-07-28 20:19:27 +00:00
dependabot[bot]
b0bf889d58
build: Bump serde_with from 3.9.0 to 3.14.0
...
Bumps [serde_with](https://github.com/jonasbb/serde_with ) from 3.9.0 to 3.14.0.
- [Release notes](https://github.com/jonasbb/serde_with/releases )
- [Commits](https://github.com/jonasbb/serde_with/compare/v3.9.0...v3.14.0 )
---
updated-dependencies:
- dependency-name: serde_with
dependency-version: 3.14.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-07-26 00:03:54 +00:00
Lucas Grosche
2c3e6cd93d
docs: Add Windows 11 support information
...
The current documentation only mentions Windows
server support. Since only minimal adjustments
are needed for Windows 11 support, these were
added where applicable.
Also contains whitespace fixes, adds missing `\`
in example code and adds more cross references.
Signed-off-by: Lucas Grosche <lucas.grosche@cyberus-technology.de >
2025-07-25 22:30:59 +00:00
dependabot[bot]
985dcfbf3e
build: Bump async-signal from 0.2.11 to 0.2.12
...
Bumps [async-signal](https://github.com/smol-rs/async-signal ) from 0.2.11 to 0.2.12.
- [Release notes](https://github.com/smol-rs/async-signal/releases )
- [Changelog](https://github.com/smol-rs/async-signal/blob/master/CHANGELOG.md )
- [Commits](https://github.com/smol-rs/async-signal/compare/v0.2.11...v0.2.12 )
---
updated-dependencies:
- dependency-name: async-signal
dependency-version: 0.2.12
dependency-type: indirect
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-07-25 00:38:42 +00:00
Oliver Anderson
511a100842
tpm: Use the same log version as other workspace members
...
The other workspace members in the Cloud-hypervisor workspace
currently declare log version 0.4.22, but the tpm crate
has an older version. This inconsistency is addressed by this PR
which opens the door for declaring log as a workspace dependency.
Signed-off-by: Oliver Anderson <oliver.anderson@cyberus-technology.de >
On-behalf-of: SAP oliver.anderson@sap.com
2025-07-24 23:52:45 +00:00
Wei Liu
8a26380657
performance-metrics: Add all supported formats to block tests
...
Signed-off-by: Wei Liu <liuwe@microsoft.com >
2025-07-24 23:37:09 +00:00
Wei Liu
76d8d47f6a
performance-metrics: Initialize tests after setting overrides
...
No functional change.
Signed-off-by: Wei Liu <liuwe@microsoft.com >
2025-07-24 23:37:09 +00:00
dependabot[bot]
423280fb96
build: Bump enumflags2 from 0.7.10 to 0.7.12
...
Bumps [enumflags2](https://github.com/meithecatte/enumflags2 ) from 0.7.10 to 0.7.12.
- [Release notes](https://github.com/meithecatte/enumflags2/releases )
- [Commits](https://github.com/meithecatte/enumflags2/compare/v0.7.10...v0.7.12 )
---
updated-dependencies:
- dependency-name: enumflags2
dependency-version: 0.7.12
dependency-type: indirect
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-07-24 16:47:13 +00:00
Wei Liu
5f2392c095
tests: Avoid repeatedly downloading files from GitHub
...
Running one or two tests in a tight loop can cause the download
functions to quickly hit GitHub's API rate limit. That causes the test
script to fail for no apparent reason.
Signed-off-by: Wei Liu <liuwe@microsoft.com >
2025-07-24 16:46:43 +00:00
Wei Liu
2d9fc3beb6
tests: Reenable test_virtio_block_dynamic_vhdx_expand
...
Signed-off-by: Wei Liu <liuwe@microsoft.com >
2025-07-24 01:06:12 +00:00
Wei Liu
4cae96f070
tests: Avoid races in the VHDX expansion test
...
Generate the data disk under a temporary directory so that multiple
instances of the test suites can run at the same time.
Signed-off-by: Wei Liu <liuwe@microsoft.com >
2025-07-24 01:06:12 +00:00
Wei Liu
f6568042ce
tests: Fix an error message in VHDX expansion test
...
The VHDX image is generated directly, not converted from a RAW image.
Signed-off-by: Wei Liu <liuwe@microsoft.com >
2025-07-24 01:06:12 +00:00
Oliver Anderson
2ae5b2567b
tpm: Use the same libc crate version as other workspace members
...
The other workspace members in the Cloud-hypervisor workspace
currently declare libc crate version 0.2.167, but the tpm crate
has an older version. This inconsistency is addressed by this PR
which opens the door for declaring libc as a workspace dependency.
Signed-off-by: Oliver Anderson <oliver.anderson@cyberus-technology.de >
On-behalf-of: SAP oliver.anderson@sap.com
2025-07-24 01:05:08 +00:00
Oliver Anderson
6d70c570f3
tpm: Use the same anyhow version as other workspace members
...
The other workspace members in the Cloud-hypervisor workspace
currently declare anyhow version 1.0.94, but the tpm crate
has an older version. This inconsistency is addressed by this PR
which opens the door for declaring anyhow as a workspace dependency.
Signed-off-by: Oliver Anderson <oliver.anderson@cyberus-technology.de >
On-behalf-of: SAP oliver.anderson@sap.com
2025-07-23 16:29:34 +00:00
Wei Liu
930a911862
block: Simplify AsyncAdaptor
...
It shouldn't be necessary to lock the file for the adaptor. This removes
two layers of indirection for QcowDiskSync and VhdxDiskSync.
Signed-off-by: Wei Liu <liuwe@microsoft.com >
2025-07-22 22:00:35 +00:00
Bo Chen
03b22a510d
tests: Disable 'test_virtio_block_dynamic_vhdx_expand'
...
This issue is tracked via #7209 .
Signed-off-by: Bo Chen <bchen@crusoe.ai >
2025-07-22 21:06:54 +00:00