Wei Liu
11c593e3b9
virtio-devices: fs: avoid unnecessary string allocation
...
Signed-off-by: Wei Liu <liuwe@microsoft.com>
2024-04-04 20:42:36 +00:00
Wei Liu
f3b0f59646
vmm: validate virtio-fs tag length
...
Signed-off-by: Wei Liu <liuwe@microsoft.com>
2024-04-04 20:42:36 +00:00
dependabot[bot]
f09f5af16a
build: Bump pin-project from 1.1.4 to 1.1.5 in /fuzz
...
Bumps [pin-project](https://github.com/taiki-e/pin-project ) from 1.1.4 to 1.1.5.
- [Release notes](https://github.com/taiki-e/pin-project/releases )
- [Changelog](https://github.com/taiki-e/pin-project/blob/main/CHANGELOG.md )
- [Commits](https://github.com/taiki-e/pin-project/compare/v1.1.4...v1.1.5 )
---
updated-dependencies:
- dependency-name: pin-project
dependency-type: indirect
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2024-04-04 00:13:50 +00:00
Bo Chen
00684e6d19
build: Temporarily disable metrics and rate-limiter worker
...
The corresponding bare-metal runner needs to be offline for
maintenance.
Signed-off-by: Bo Chen <chen.bo@intel.com>
2024-04-03 14:26:42 -07:00
dependabot[bot]
fa7a000dbe
build: Bump vm-memory from 0.14.0 to 0.14.1
...
Bumps [vm-memory](https://github.com/rust-vmm/vm-memory ) from 0.14.0 to 0.14.1.
- [Release notes](https://github.com/rust-vmm/vm-memory/releases )
- [Changelog](https://github.com/rust-vmm/vm-memory/blob/v0.14.1/CHANGELOG.md )
- [Commits](https://github.com/rust-vmm/vm-memory/compare/v0.14.0...v0.14.1 )
---
updated-dependencies:
- dependency-name: vm-memory
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2024-04-03 07:19:10 +00:00
dependabot[bot]
85a3623b44
build: Bump backtrace from 0.3.67 to 0.3.71
...
Bumps [backtrace](https://github.com/rust-lang/backtrace-rs ) from 0.3.67 to 0.3.71.
- [Release notes](https://github.com/rust-lang/backtrace-rs/releases )
- [Commits](https://github.com/rust-lang/backtrace-rs/compare/0.3.67...0.3.71 )
---
updated-dependencies:
- dependency-name: backtrace
dependency-type: indirect
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2024-04-02 09:13:00 +00:00
dependabot[bot]
66add03d38
build: Bump uuid from 1.7.0 to 1.8.0 in /fuzz
...
Bumps [uuid](https://github.com/uuid-rs/uuid ) from 1.7.0 to 1.8.0.
- [Release notes](https://github.com/uuid-rs/uuid/releases )
- [Commits](https://github.com/uuid-rs/uuid/compare/1.7.0...1.8.0 )
---
updated-dependencies:
- dependency-name: uuid
dependency-type: indirect
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2024-04-01 23:47:23 +00:00
Andrew Carp
3fa02b34ca
virtio-devices: Attach and detach endpoints from domain properly
...
Properly detach a device from a domain if that device is already
attached to another domain on an attach request (following section
5.13.6.3.2 of the virtio-iommu spec). Resolves nested virtualization
reboot.
Signed-off-by: Andrew Carp <acarp@crusoeenergy.com>
2024-04-01 09:19:04 +00:00
Andrew Carp
5668f02eb6
virtio-devices: Map previously attached endpoints
...
Ensures that any endpoints already attached to the domain are properly
mapped to a new endpoint on said endpoint's attach request. This is done
by search for all previous mappings in the domain and then issuing map
requests for the newly attached endpoint.
Signed-off-by: Andrew Carp <acarp@crusoeenergy.com>
2024-04-01 09:19:04 +00:00
Andrew Carp
045964deee
virtio-devices: Map mmio over virtio-iommu
...
Add infrastructure to lookup the host address for mmio regions on
external dma mapping requests. This specifically resolves vfio
passthrough for virtio-iommu, allowing for nested virtualization to pass
external devices through.
Fixes #6110
Signed-off-by: Andrew Carp <acarp@crusoeenergy.com>
2024-04-01 09:16:30 +00:00
Andrew Carp
a5e2460d95
virtio-devices: Move VfioDmaMapping to be in the pci crate
...
VfioUserDmaMapping is already in the pci crate, this moves
VfioDmaMapping to match the behavior. This is a necessary change to
allow the VfioDmaMapping trait to have access to MmioRegion memory
without creating a circular dependency. The VfioDmaMapping trait
needs to have access to mmio regions to map external devices over
mmio (a follow-up commit).
Signed-off-by: Andrew Carp <acarp@crusoeenergy.com>
2024-04-01 09:16:30 +00:00
dependabot[bot]
fd854c7339
build: Bump byteorder from 1.4.3 to 1.5.0
...
Bumps [byteorder](https://github.com/BurntSushi/byteorder ) from 1.4.3 to 1.5.0.
- [Changelog](https://github.com/BurntSushi/byteorder/blob/master/CHANGELOG.md )
- [Commits](https://github.com/BurntSushi/byteorder/compare/1.4.3...1.5.0 )
---
updated-dependencies:
- dependency-name: byteorder
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2024-03-30 08:47:30 +00:00
dependabot[bot]
2d15a2cd45
build: Bump arc-swap from 1.6.0 to 1.7.1 in /fuzz
...
Bumps [arc-swap](https://github.com/vorner/arc-swap ) from 1.6.0 to 1.7.1.
- [Changelog](https://github.com/vorner/arc-swap/blob/master/CHANGELOG.md )
- [Commits](https://github.com/vorner/arc-swap/commits )
---
updated-dependencies:
- dependency-name: arc-swap
dependency-type: indirect
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2024-03-29 23:41:24 +00:00
Alexandru Matei
fbe3e4d642
vmm: memory_manager: don't set backing_file for virtio_mem regions
...
The memory region that is associated with the hotpluggable part of
a virtio-mem zone isn't backed by the file specified in the
MemoryZoneConfig. The file is used only for the fixed part of the
zone. When you try to restore a snapshot with virtio-mem, the
backing file is used for all its regions. This results in the
following error:
VmRestore(MemoryManager(GuestMemoryRegion(MappingPastEof)))
This patch sets backing_file only for the fixed part of a virtio-mem
zone.
Fixes : #6337
Signed-off-by: Alexandru Matei <alexandru.matei@uipath.com>
2024-03-29 20:11:20 +00:00
Nuno Das Neves
28d4957ba5
hypervisor: Remove redefinition of HV_PAGE_SIZE in mshv
...
HV_PAGE_SIZE is defined as a usize in mshv_bindings.
Remove the redefinition, and perform casts where necessary.
Signed-off-by: Nuno Das Neves <nudasnev@microsoft.com>
2024-03-29 13:14:37 -07:00
Nuno Das Neves
f39d5eeaf0
build: Update mshv crate commit in Cargo.lock
...
Signed-off-by: Nuno Das Neves <nudasnev@microsoft.com>
2024-03-29 13:14:37 -07:00
Nuno Das Neves
639db35635
vmm: Update and add seccomp IOCTL numbers for mshv
...
Add IOCTL number for generic hypercall ioctl (MSHV_ROOT_HVCALL).
Update IOCTL numbers for set/get vp state.
Signed-off-by: Nuno Das Neves <nudasnev@microsoft.com>
2024-03-29 13:14:37 -07:00
dependabot[bot]
6482f7e8c3
build: Bump zbus_names from 2.6.0 to 2.6.1
...
Bumps [zbus_names](https://github.com/dbus2/zbus ) from 2.6.0 to 2.6.1.
- [Release notes](https://github.com/dbus2/zbus/releases )
- [Commits](https://github.com/dbus2/zbus/compare/zbus_names-2.6.0...zbus_names-2.6.1 )
---
updated-dependencies:
- dependency-name: zbus_names
dependency-type: indirect
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2024-03-29 18:45:34 +00:00
Bo Chen
3214dc6431
Revert "build: Bump virtio-queue from 0.11.0 to 0.12.0 in /fuzz"
...
This reverts commit fcf229a33a
.
The virtio-queue version needs to stay the same as the rest of the
source tree.
Signed-off-by: Bo Chen <chen.bo@intel.com>
2024-03-29 09:14:38 -07:00
dependabot[bot]
97686ef7a3
build: Bump bumpalo from 3.15.3 to 3.15.4 in /fuzz
...
Bumps [bumpalo](https://github.com/fitzgen/bumpalo ) from 3.15.3 to 3.15.4.
- [Changelog](https://github.com/fitzgen/bumpalo/blob/main/CHANGELOG.md )
- [Commits](https://github.com/fitzgen/bumpalo/compare/3.15.3...3.15.4 )
---
updated-dependencies:
- dependency-name: bumpalo
dependency-type: indirect
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2024-03-29 00:01:27 +00:00
dependabot[bot]
d3e4f9cc1b
build: Bump xdg-home from 1.0.0 to 1.1.0
...
Bumps [xdg-home](https://github.com/zeenix/xdg-home ) from 1.0.0 to 1.1.0.
- [Release notes](https://github.com/zeenix/xdg-home/releases )
- [Commits](https://github.com/zeenix/xdg-home/compare/1.0.0...1.1.0 )
---
updated-dependencies:
- dependency-name: xdg-home
dependency-type: indirect
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2024-03-28 00:23:14 +00:00
dependabot[bot]
fcf229a33a
build: Bump virtio-queue from 0.11.0 to 0.12.0 in /fuzz
...
Bumps [virtio-queue](https://github.com/rust-vmm/vm-virtio ) from 0.11.0 to 0.12.0.
- [Release notes](https://github.com/rust-vmm/vm-virtio/releases )
- [Commits](https://github.com/rust-vmm/vm-virtio/compare/virtio-queue-v0.11.0...virtio-queue-v0.12.0 )
---
updated-dependencies:
- dependency-name: virtio-queue
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2024-03-28 00:11:12 +00:00
dependabot[bot]
310382a918
build: Bump itoa from 1.0.10 to 1.0.11 in /fuzz
...
Bumps [itoa](https://github.com/dtolnay/itoa ) from 1.0.10 to 1.0.11.
- [Release notes](https://github.com/dtolnay/itoa/releases )
- [Commits](https://github.com/dtolnay/itoa/compare/1.0.10...1.0.11 )
---
updated-dependencies:
- dependency-name: itoa
dependency-type: indirect
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2024-03-27 07:41:43 +00:00
dependabot[bot]
6d374d8805
build: Bump smallvec from 1.13.1 to 1.13.2
...
Bumps [smallvec](https://github.com/servo/rust-smallvec ) from 1.13.1 to 1.13.2.
- [Release notes](https://github.com/servo/rust-smallvec/releases )
- [Commits](https://github.com/servo/rust-smallvec/compare/v1.13.1...v1.13.2 )
---
updated-dependencies:
- dependency-name: smallvec
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2024-03-27 00:21:12 +00:00
Bo Chen
11fa24cdcb
vmm: Explicitly set NetConfig FDs as invalid for (de)serialization
...
The 'NetConfig' may contain FDs which can't be serialized correctly, as
FDs can only be donated from another process via a Unix domain socket
with `SCM_RIGHTS`. To avoid false use of the serialized FDs, this patch
explicitly set 'NetConfig' FDs as invalid for (de)serialization.
See: #6286
Signed-off-by: Bo Chen <chen.bo@intel.com>
2024-03-26 18:41:38 +00:00
Jinank Jain
f0be099461
hypervisor: mshv: Add missing prototype of struct Vcpu for MshvVcpu
...
These are required while compiling for target aarch64.
Signed-off-by: Jinank Jain <jinankjain@microsoft.com>
2024-03-26 16:18:06 +00:00
Jinank Jain
3f95ada71e
hypervisor: mshv: Add missing prototype of struct Vm for MshvVm
...
These functions are required when compiling for aarch64.
Signed-off-by: Jinank Jain <jinankjain@microsoft.com>
2024-03-26 16:18:06 +00:00
dependabot[bot]
c6d5cd78a7
build: Bump regex-automata from 0.3.7 to 0.3.9
...
Bumps [regex-automata](https://github.com/rust-lang/regex ) from 0.3.7 to 0.3.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-automata-0.3.7...regex-automata-0.3.9 )
---
updated-dependencies:
- dependency-name: regex-automata
dependency-type: indirect
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2024-03-26 10:58:37 +00:00
dependabot[bot]
80dcb165ba
build: Bump autocfg from 1.1.0 to 1.2.0 in /fuzz
...
Bumps [autocfg](https://github.com/cuviper/autocfg ) from 1.1.0 to 1.2.0.
- [Commits](https://github.com/cuviper/autocfg/compare/1.1.0...1.2.0 )
---
updated-dependencies:
- dependency-name: autocfg
dependency-type: indirect
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2024-03-26 00:09:42 +00:00
Bo Chen
6922e25e78
vmm: Move VM shutdown event to Vmm::vm_shutdown
...
Signed-off-by: Bo Chen <chen.bo@intel.com>
2024-03-25 18:06:52 +00:00
Bo Chen
5997cfacbf
vmm: Move VM boot events to Vmm::vm_boot
...
Signed-off-by: Bo Chen <chen.bo@intel.com>
2024-03-25 18:06:52 +00:00
Wei Liu
55678b23ba
vmm: add events for VM reboot
...
Signed-off-by: Wei Liu <liuwe@microsoft.com>
Signed-off-by: Bo Chen <chen.bo@intel.com>
2024-03-25 18:06:52 +00:00
Rob Bradford
b15e5923ab
block: vhdx: "signature" field is unused
...
Prefix field with an _ to indicate that this is intentionally unused.
This resolved a nightly compiler check issue due to the unusued field.
Signed-off-by: Rob Bradford <rbradford@rivosinc.com>
2024-03-25 04:32:28 +00:00
Rob Bradford
fd81a23fcc
virtio-devices: vsock: csm: Use thiserror to provide error messages
...
This resolves a nightly compiler check for unused enum inner value.
Signed-off-by: Rob Bradford <rbradford@rivosinc.com>
2024-03-25 04:32:28 +00:00
dependabot[bot]
acc25def7d
build: Bump anyhow from 1.0.80 to 1.0.81 in /fuzz
...
Bumps [anyhow](https://github.com/dtolnay/anyhow ) from 1.0.80 to 1.0.81.
- [Release notes](https://github.com/dtolnay/anyhow/releases )
- [Commits](https://github.com/dtolnay/anyhow/compare/1.0.80...1.0.81 )
---
updated-dependencies:
- dependency-name: anyhow
dependency-type: indirect
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2024-03-24 17:19:26 +00:00
Alexandru Matei
c3f1c3ee3d
virtio-devices: save pci configuration capability state in snapshot
...
When restoring a VM, the VirtioPciCfgCapInfo struct is not properly
initialized. All fields are 0, including the offset where the
capabibility starts. Hence, when you read a PCI configuration register
in the range [0..length(VirtioPciCfgCap)] you get the value 0 instead of
the actual register contents.
Linux rescans the whole PCI bus when adding a new device. It reads the
values vendor_id and device_id for every device. Because these are
stored at offset 0 in pci configuration space, their value is 0 for
existing devices. As such, Linux considers that the devices have been
unplugged and it removes them from the system.
Fixes : #6265
Signed-off-by: Alexandru Matei <alexandru.matei@uipath.com>
2024-03-24 17:18:51 +00:00
Jinank Jain
58e6a289ab
hypervisor: mshv: Restrict MshvEmulator to x86
...
Current MSHV emulator only works for x86 instruction decoder. So, let's
restrict its usage to x86.
Signed-off-by: Jinank Jain <jinankjain@microsoft.com>
2024-03-23 17:20:18 +00:00
Jinank Jain
7c6c45128d
hypervisor: mshv: Move ClockData under x86 feature flag
...
ClockData enum is only defined for x86_64 architecture so let's use it
just for that.
Signed-off-by: Jinank Jain <jinankjain@microsoft.com>
2024-03-23 17:20:18 +00:00
dependabot[bot]
625b18d2a2
build: Bump serde_with from 3.6.1 to 3.7.0
...
Bumps [serde_with](https://github.com/jonasbb/serde_with ) from 3.6.1 to 3.7.0.
- [Release notes](https://github.com/jonasbb/serde_with/releases )
- [Commits](https://github.com/jonasbb/serde_with/compare/v3.6.1...v3.7.0 )
---
updated-dependencies:
- dependency-name: serde_with
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2024-03-22 23:59:25 +00:00
Andrew Carp
fbdc5d4487
virtio-devices: Removing all mappings found in an unmap request
...
According to the virtio iommu spec (section 5.13.6.6), all mappings
within the entire range from virt_start to virt_end in an unmap
request must be removed. This change adds this functionality,
iterating through all mappings that fall within an unmap request
for that domain and removing them.
Signed-off-by: Andrew Carp <acarp@crusoeenergy.com>
2024-03-22 20:25:52 +00:00
dependabot[bot]
6bee8ac702
build: Bump vm-memory from 0.14.0 to 0.14.1 in /fuzz
...
Bumps [vm-memory](https://github.com/rust-vmm/vm-memory ) from 0.14.0 to 0.14.1.
- [Release notes](https://github.com/rust-vmm/vm-memory/releases )
- [Changelog](https://github.com/rust-vmm/vm-memory/blob/v0.14.1/CHANGELOG.md )
- [Commits](https://github.com/rust-vmm/vm-memory/compare/v0.14.0...v0.14.1 )
---
updated-dependencies:
- dependency-name: vm-memory
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2024-03-22 12:54:20 +00:00
dependabot[bot]
749eb423cf
build: Bump anstyle-parse from 0.2.1 to 0.2.3
...
Bumps [anstyle-parse](https://github.com/rust-cli/anstyle ) from 0.2.1 to 0.2.3.
- [Commits](https://github.com/rust-cli/anstyle/compare/anstyle-parse-v0.2.1...anstyle-parse-v0.2.3 )
---
updated-dependencies:
- dependency-name: anstyle-parse
dependency-type: indirect
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2024-03-22 12:16:53 +00:00
dependabot[bot]
44fbd60b7a
build: Bump micro_http from e75dfa1
to ef43cef
in /fuzz
...
Bumps [micro_http](https://github.com/firecracker-microvm/micro-http ) from `e75dfa1` to `ef43cef`.
- [Commits](e75dfa1eee...ef43cef716
)
---
updated-dependencies:
- dependency-name: micro_http
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
2024-03-21 09:31:09 +00:00
dependabot[bot]
98c48d40d2
build: Bump cc from 1.0.83 to 1.0.90
...
Bumps [cc](https://github.com/rust-lang/cc-rs ) from 1.0.83 to 1.0.90.
- [Release notes](https://github.com/rust-lang/cc-rs/releases )
- [Commits](https://github.com/rust-lang/cc-rs/compare/1.0.83...1.0.90 )
---
updated-dependencies:
- dependency-name: cc
dependency-type: indirect
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2024-03-21 08:51:36 +00:00
Jinank Jain
fdcc8539cd
hypervisor: Don't restrict logger crate to just x86
...
Even aarch64 subsystem of hypervisor crate can use logging so don't
restrict it just to x86.
Signed-off-by: Jinank Jain <jinankjain@microsoft.com>
2024-03-21 08:34:20 +00:00
Jinank Jain
f7b9a6e577
hypervisor: mshv: Restrict unmapped GPA exit to x86
...
Current instruction emulator can only decode x86 instructions. Thus,
restrict the exit handling for just x86 guests.
Signed-off-by: Jinank Jain <jinankjain@microsoft.com>
2024-03-21 08:34:20 +00:00
Jinank Jain
c9e989de6e
hypervisor: mshv: Restrict IO port exit to x86
...
IO ports exits can only happen on a x86 guest.
Signed-off-by: Jinank Jain <jinankjain@microsoft.com>
2024-03-21 08:34:20 +00:00
Jinank Jain
2501426e47
hypervisor: mshv: Restrict APIC EOI message to x86
...
APIC controller is only available on x86 machine. ARM uses a different
interrupt controller so those exit messages won't happen for ARM guests.
Signed-off-by: Jinank Jain <jinankjain@microsoft.com>
2024-03-21 08:34:20 +00:00
Jinank Jain
dad1ab1227
hypervisor: mshv: Restrict NMI injection to x86
...
NMI injection is only supported on x86 architecture.
Signed-off-by: Jinank Jain <jinankjain@microsoft.com>
2024-03-21 08:34:20 +00:00
dependabot[bot]
97a1a70275
build: Bump num-traits from 0.2.17 to 0.2.18
...
Bumps [num-traits](https://github.com/rust-num/num-traits ) from 0.2.17 to 0.2.18.
- [Changelog](https://github.com/rust-num/num-traits/blob/master/RELEASES.md )
- [Commits](https://github.com/rust-num/num-traits/compare/num-traits-0.2.17...num-traits-0.2.18 )
---
updated-dependencies:
- dependency-name: num-traits
dependency-type: indirect
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2024-03-20 11:26:54 +00:00