Bo Chen
4fea40f008
fuzz: Balloon: Reduce the guest memory size and queue size
...
With the guest memory size of 1MB, a valid descriptor size can be close
to the guest memory size (e.g. 1MB) and can contain close to 256k
valid pfn entries (each entry is 4 bytes). Multiplying the queue
size (e.g. 256), there can be close to 64 millions pfn entries to
process in a single request. This is why the oss-fuzz reported a
timeout (with a limit of 60s).
By reducing the guest memory size and the queue size, the worst-case now
is 8 million pfn entries for fuzzing, which can be finished in around 20
seconds according to my local experiment.
Signed-off-by: Bo Chen <chen.bo@intel.com>
2022-10-04 09:40:12 +01:00
Rob Bradford
2daab89987
vmm: Remove legacy firmware loading
...
This functionality was deprecated and is for removal in the upcoming
release.
Fixes : #4511
Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2022-10-03 17:09:02 +01:00
Rob Bradford
1bc63e7848
vmm: Remove legacy I/O ports for ACPI
...
These addresses have been superseded and replaced with other I/O ports.
Fixes : #4483
Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2022-10-03 17:08:57 +01:00
Bo Chen
2115a41568
openapi: Add 'firmware' to 'PayloadConfig'
...
This option is needed for the openapi consumer (e.g. Kata Containers) to
load firmware (e.g. td-shim) for booting.
Signed-off-by: Bo Chen <chen.bo@intel.com>
2022-10-01 08:45:21 +01:00
dependabot[bot]
4b4354a52c
build: Bump rustix from 0.35.10 to 0.35.11
...
Bumps [rustix](https://github.com/bytecodealliance/rustix ) from 0.35.10 to 0.35.11.
- [Release notes](https://github.com/bytecodealliance/rustix/releases )
- [Commits](https://github.com/bytecodealliance/rustix/compare/v0.35.10...v0.35.11 )
---
updated-dependencies:
- dependency-name: rustix
dependency-type: indirect
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-09-30 01:36:09 +00:00
dependabot[bot]
67751d07d6
build: Bump libc from 0.2.133 to 0.2.134
...
Bumps [libc](https://github.com/rust-lang/libc ) from 0.2.133 to 0.2.134.
- [Release notes](https://github.com/rust-lang/libc/releases )
- [Commits](https://github.com/rust-lang/libc/compare/0.2.133...0.2.134 )
---
updated-dependencies:
- dependency-name: libc
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-09-30 01:01:13 +00:00
dependabot[bot]
509fd8b03e
build: Bump libc from 0.2.133 to 0.2.134 in /fuzz
...
Bumps [libc](https://github.com/rust-lang/libc ) from 0.2.133 to 0.2.134.
- [Release notes](https://github.com/rust-lang/libc/releases )
- [Commits](https://github.com/rust-lang/libc/compare/0.2.133...0.2.134 )
---
updated-dependencies:
- dependency-name: libc
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-09-30 00:26:21 +00:00
dependabot[bot]
1294f052b2
build: Bump mshv-bindings from 2d0aaa1
to 6b0cf3b
...
Bumps [mshv-bindings](https://github.com/rust-vmm/mshv ) from `2d0aaa1` to `6b0cf3b`.
- [Release notes](https://github.com/rust-vmm/mshv/releases )
- [Commits](2d0aaa16b0...6b0cf3b47f
)
---
updated-dependencies:
- dependency-name: mshv-bindings
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-09-29 23:49:21 +00:00
dependabot[bot]
01b38b9c59
build: Bump proc-macro2 from 1.0.45 to 1.0.46 in /fuzz
...
Bumps [proc-macro2](https://github.com/dtolnay/proc-macro2 ) from 1.0.45 to 1.0.46.
- [Release notes](https://github.com/dtolnay/proc-macro2/releases )
- [Commits](https://github.com/dtolnay/proc-macro2/compare/1.0.45...1.0.46 )
---
updated-dependencies:
- dependency-name: proc-macro2
dependency-type: indirect
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-09-29 23:46:46 +00:00
dependabot[bot]
db51e9e209
build: Bump proc-macro2 from 1.0.44 to 1.0.46
...
Bumps [proc-macro2](https://github.com/dtolnay/proc-macro2 ) from 1.0.44 to 1.0.46.
- [Release notes](https://github.com/dtolnay/proc-macro2/releases )
- [Commits](https://github.com/dtolnay/proc-macro2/compare/1.0.44...1.0.46 )
---
updated-dependencies:
- dependency-name: proc-macro2
dependency-type: indirect
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-09-29 18:15:44 +00:00
Bo Chen
57dfcc06d3
fuzz: Cargo.lock: Bump virtio-queue to 0.6.1
...
Signed-off-by: Bo Chen <chen.bo@intel.com>
2022-09-29 19:11:38 +01:00
Rob Bradford
2ba6a9bfcf
build: Release v27.0
...
This also incorporates the bump to virtio-queue 0.6.1
Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2022-09-29 17:56:21 +01:00
Rob Bradford
362f95c825
README.md: Add mailing list details
...
Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2022-09-29 14:24:48 +01:00
dependabot[bot]
a02387862d
build: Bump rustix from 0.35.10 to 0.35.11 in /fuzz
...
Bumps [rustix](https://github.com/bytecodealliance/rustix ) from 0.35.10 to 0.35.11.
- [Release notes](https://github.com/bytecodealliance/rustix/releases )
- [Commits](https://github.com/bytecodealliance/rustix/compare/v0.35.10...v0.35.11 )
---
updated-dependencies:
- dependency-name: rustix
dependency-type: indirect
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-09-29 00:20:21 +00:00
dependabot[bot]
ee5c2d2765
build: Bump proc-macro2 from 1.0.44 to 1.0.45 in /fuzz
...
Bumps [proc-macro2](https://github.com/dtolnay/proc-macro2 ) from 1.0.44 to 1.0.45.
- [Release notes](https://github.com/dtolnay/proc-macro2/releases )
- [Commits](https://github.com/dtolnay/proc-macro2/compare/1.0.44...1.0.45 )
---
updated-dependencies:
- dependency-name: proc-macro2
dependency-type: indirect
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-09-28 23:49:13 +00:00
James O. D. Hunt
cd0208fe0a
api-client: Allow response to be captured
...
Previously, the API response was always written to stdout, but that may
not be appropriate for all clients.
The client can now control this behaviour as the client API returns the
response in the `Result`.
Fixes : #4703 .
Signed-off-by: James O. D. Hunt <james.o.hunt@intel.com>
2022-09-28 15:23:03 +01:00
James O. D. Hunt
eea9bcea38
api-client: Refactor to removed hard-coded prefix
...
The existing API client only allows access to "VM" operations, so added
a new `simple_api_full_command_with_fds()` that allows access to "VMM"
operations too.
Also added a `simple_api_full_command()` to avoid having to specify the
file descriptors, in a similar manner to `simple_api_command()`.
Fixes : #4701 .
Signed-off-by: James O. D. Hunt <james.o.hunt@intel.com>
2022-09-28 12:30:02 +01:00
Smit Gardhariya
45fa8be97a
scripts: Remove common feature flag for mshv tests
...
Commit b2d1dd65f3
("build: Remove "fwdebug" and "common" feature
flags") removed support for common features flag. But some of the
scripts are still using that parameter specifically test related to mshv
hypervisor. Thus fix those scripts by removing common feature flag.
Signed-off-by: Smit Gardhariya <sgardhariya@microsoft.com>
2022-09-28 10:53:22 +00:00
Bo Chen
f0c55f5245
virtio-devices: rng: Error out of queue execution on invalid requests
...
With the virtio-rng device the descriptors that are provided by the
guest must be writable and of non-zero length. Also propagate an error
if writing to the guest memory fails.
Signed-off-by: Bo Chen <chen.bo@intel.com>
2022-09-28 10:07:44 +01:00
dependabot[bot]
4779265453
build: Bump thiserror from 1.0.36 to 1.0.37 in /fuzz
...
Bumps [thiserror](https://github.com/dtolnay/thiserror ) from 1.0.36 to 1.0.37.
- [Release notes](https://github.com/dtolnay/thiserror/releases )
- [Commits](https://github.com/dtolnay/thiserror/compare/1.0.36...1.0.37 )
---
updated-dependencies:
- dependency-name: thiserror
dependency-type: indirect
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-09-28 10:07:09 +01:00
dependabot[bot]
0b9b46bbc8
build: Bump thiserror from 1.0.36 to 1.0.37
...
Bumps [thiserror](https://github.com/dtolnay/thiserror ) from 1.0.36 to 1.0.37.
- [Release notes](https://github.com/dtolnay/thiserror/releases )
- [Commits](https://github.com/dtolnay/thiserror/compare/1.0.36...1.0.37 )
---
updated-dependencies:
- dependency-name: thiserror
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-09-28 10:06:58 +01:00
Rob Bradford
06eb82d239
build: Consolidate "gdb" build feature into "guest_debug"
...
This simplifies the CI process but also logical with the existing
functionality under "guest_debug" (dumping guest memory).
Fixes : #4679
Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2022-09-27 14:30:57 +01:00
Rob Bradford
b8503b5f45
hypervisor: Support compiling "tdx" and "mshv" feature together
...
TDX functionality is not currently available on MSHV but we should not
preclude building a binary that can run on both.
Fixes : #4677
Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2022-09-27 14:30:49 +01:00
Sebastien Boeuf
3bf3cca70a
vhost_user_net: Allow user to set MTU
...
Adding the support for the user to set the MTU for the vhost-user-net
backend, which allows the integration test to be extended with the test
of the MTU parameter.
Signed-off-by: Sebastien Boeuf <sebastien.boeuf@intel.com>
2022-09-27 10:37:35 +01:00
Sebastien Boeuf
903c08f8a1
net: Don't override default TAP interface MTU
...
Adjust MTU logic such that:
1. Apply an MTU to the TAP interface if the user supplies it
2. Always query the TAP interface for the MTU and expose that.
Signed-off-by: Sebastien Boeuf <sebastien.boeuf@intel.com>
2022-09-27 10:37:35 +01:00
dependabot[bot]
44d66ec531
build: Bump proc-macro2 from 1.0.43 to 1.0.44
...
Bumps [proc-macro2](https://github.com/dtolnay/proc-macro2 ) from 1.0.43 to 1.0.44.
- [Release notes](https://github.com/dtolnay/proc-macro2/releases )
- [Commits](https://github.com/dtolnay/proc-macro2/compare/1.0.43...1.0.44 )
---
updated-dependencies:
- dependency-name: proc-macro2
dependency-type: indirect
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-09-27 02:54:16 +00:00
dependabot[bot]
ac77d0923f
build: Bump thiserror from 1.0.35 to 1.0.36
...
Bumps [thiserror](https://github.com/dtolnay/thiserror ) from 1.0.35 to 1.0.36.
- [Release notes](https://github.com/dtolnay/thiserror/releases )
- [Commits](https://github.com/dtolnay/thiserror/compare/1.0.35...1.0.36 )
---
updated-dependencies:
- dependency-name: thiserror
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-09-27 02:19:05 +00:00
dependabot[bot]
ba3debaa27
build: Bump openssl-sys from 0.9.75 to 0.9.76
...
Bumps [openssl-sys](https://github.com/sfackler/rust-openssl ) from 0.9.75 to 0.9.76.
- [Release notes](https://github.com/sfackler/rust-openssl/releases )
- [Commits](https://github.com/sfackler/rust-openssl/compare/openssl-sys-v0.9.75...openssl-sys-v0.9.76 )
---
updated-dependencies:
- dependency-name: openssl-sys
dependency-type: indirect
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-09-27 01:29:28 +00:00
dependabot[bot]
1ff26fbb8a
build: Bump thiserror from 1.0.35 to 1.0.36 in /fuzz
...
Bumps [thiserror](https://github.com/dtolnay/thiserror ) from 1.0.35 to 1.0.36.
- [Release notes](https://github.com/dtolnay/thiserror/releases )
- [Commits](https://github.com/dtolnay/thiserror/compare/1.0.35...1.0.36 )
---
updated-dependencies:
- dependency-name: thiserror
dependency-type: indirect
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-09-27 00:54:29 +00:00
dependabot[bot]
4aa5d5a2c1
build: Bump syn from 1.0.100 to 1.0.101
...
Bumps [syn](https://github.com/dtolnay/syn ) from 1.0.100 to 1.0.101.
- [Release notes](https://github.com/dtolnay/syn/releases )
- [Commits](https://github.com/dtolnay/syn/compare/1.0.100...1.0.101 )
---
updated-dependencies:
- dependency-name: syn
dependency-type: indirect
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-09-27 00:37:22 +00:00
dependabot[bot]
023c77bdf3
build: Bump proc-macro2 from 1.0.43 to 1.0.44 in /fuzz
...
Bumps [proc-macro2](https://github.com/dtolnay/proc-macro2 ) from 1.0.43 to 1.0.44.
- [Release notes](https://github.com/dtolnay/proc-macro2/releases )
- [Commits](https://github.com/dtolnay/proc-macro2/compare/1.0.43...1.0.44 )
---
updated-dependencies:
- dependency-name: proc-macro2
dependency-type: indirect
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-09-27 00:19:14 +00:00
dependabot[bot]
e2a7972c59
build: Bump syn from 1.0.100 to 1.0.101 in /fuzz
...
Bumps [syn](https://github.com/dtolnay/syn ) from 1.0.100 to 1.0.101.
- [Release notes](https://github.com/dtolnay/syn/releases )
- [Commits](https://github.com/dtolnay/syn/compare/1.0.100...1.0.101 )
---
updated-dependencies:
- dependency-name: syn
dependency-type: indirect
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-09-26 23:45:54 +00:00
dependabot[bot]
a4791263c9
build: Bump mshv-bindings from bf85430
to 2d0aaa1
...
Bumps [mshv-bindings](https://github.com/rust-vmm/mshv ) from `bf85430` to `2d0aaa1`.
- [Release notes](https://github.com/rust-vmm/mshv/releases )
- [Commits](bf85430875...2d0aaa16b0
)
---
updated-dependencies:
- dependency-name: mshv-bindings
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-09-26 23:42:43 +00:00
Rob Bradford
b2d1dd65f3
build: Remove "fwdebug" and "common" feature flags
...
This simplifes the buld and checks with very little overhead and the
fwdebug device is I/O port device on 0x402 that can be used by edk2 as a
very simple character device.
See: #4679
Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2022-09-26 10:16:33 -07:00
Rob Bradford
36e26f004c
.github: Consolidate quality checks into single worklow
...
Combine aarch64 and x86-64 checks into one workflow
Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2022-09-26 16:52:42 +01:00
Rob Bradford
66c092e69b
build: Bump linux-loader from 0.5.0 to 0.6.0
...
Bumps [linux-loader](https://github.com/rust-vmm/linux-loader ) from 0.5.0 to 0.6.0.
- [Release notes](https://github.com/rust-vmm/linux-loader/releases )
- [Changelog](https://github.com/rust-vmm/linux-loader/blob/main/CHANGELOG.md )
- [Commits](https://github.com/rust-vmm/linux-loader/compare/v0.5.0...v0.6.0 )
---
updated-dependencies:
- dependency-name: linux-loader
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2022-09-24 09:54:18 +00:00
dependabot[bot]
76903e5fd0
build: Bump jobserver from 0.1.24 to 0.1.25 in /fuzz
...
Bumps [jobserver](https://github.com/alexcrichton/jobserver-rs ) from 0.1.24 to 0.1.25.
- [Release notes](https://github.com/alexcrichton/jobserver-rs/releases )
- [Commits](https://github.com/alexcrichton/jobserver-rs/compare/0.1.24...0.1.25 )
---
updated-dependencies:
- dependency-name: jobserver
dependency-type: indirect
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-09-23 23:49:08 +00:00
Rob Bradford
cf31a303cf
README: Add roadmap section pointing to our new GitHub project
...
Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2022-09-23 14:30:15 -07:00
Bo Chen
ef603fde4c
fuzz: Reduce the guest memory size for balloon fuzzer
...
As the virt queues are initialized with random bytes from the fuzzing
engine, a descriptor buffer for the available ring can have a very large
length (e.g. up to 4GB). This means there can be up to 1 billion
entries (e.g. page frame number) for virtio-balloon to process a signal
available descriptor (given each entry is 4 bytes). This is the reason
why oss-fuzz reported a hanging issue for this fuzzer, where the
generated descriptor buffer length is 4,278,321,152.
We can avoid this kind of long execution by reducing the size of guest
memory. For example, with 1MB of guest memory, the number of descriptor
entries for processing is limited ~256K.
Signed-off-by: Bo Chen <chen.bo@intel.com>
2022-09-23 08:28:07 +01:00
dependabot[bot]
7a0bfd2e71
build: Bump serde from 1.0.144 to 1.0.145
...
Bumps [serde](https://github.com/serde-rs/serde ) from 1.0.144 to 1.0.145.
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.144...v1.0.145 )
---
updated-dependencies:
- dependency-name: serde
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-09-23 00:14:50 +00:00
dependabot[bot]
98aab37b00
build: Bump serde from 1.0.144 to 1.0.145 in /fuzz
...
Bumps [serde](https://github.com/serde-rs/serde ) from 1.0.144 to 1.0.145.
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.144...v1.0.145 )
---
updated-dependencies:
- dependency-name: serde
dependency-type: indirect
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-09-22 23:38:42 +00:00
Rob Bradford
194b59f44b
fuzz: Don't overload meaning of reset()
...
This function is for really for the transport layer to trigger a device
reset. Instead name it appropriately for the fuzzing specific use case.
Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2022-09-22 11:01:41 -07:00
Rob Bradford
c98bd2fd4a
.github: Add clippy check of tracing feature
...
Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2022-09-22 18:09:31 +01:00
Rob Bradford
e53419ecfc
docs: Add documentation of tracing infrastructure
...
Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2022-09-22 18:09:31 +01:00
Rob Bradford
5e811a6823
scripts: Add tracing visualisation script
...
Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2022-09-22 18:09:31 +01:00
Rob Bradford
1202b9a07a
vmm: Add some tracing of boot sequence
...
Add tracing of the VM boot sequence from the point at which the request
to create a VM is received to the hand-off to the vCPU threads running.
Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2022-09-22 18:09:31 +01:00
Rob Bradford
b35e6f3018
tracing: Tracing infrastructure
...
Add a new feature "tracing" that enables tracing functionality via the
"tracer" crate (sadly features and crates cannot share the same name.)
Setup: tracer::start()
The main functionality is a tracer::trace_scope()! macro that will add
trace points for the duration of the scope. Tracing events are per
thread.
Finish: tracer::end() this will write the trace file (pretty printed
JSON) to a file in the current directory.
Signed-off-by: Rob Bradford <robert.bradford@intel.com>
2022-09-22 18:09:31 +01:00
dependabot[bot]
56f163170c
build: Bump rustix from 0.35.9 to 0.35.10 in /fuzz
...
Bumps [rustix](https://github.com/bytecodealliance/rustix ) from 0.35.9 to 0.35.10.
- [Release notes](https://github.com/bytecodealliance/rustix/releases )
- [Commits](https://github.com/bytecodealliance/rustix/compare/v0.35.9...v0.35.10 )
---
updated-dependencies:
- dependency-name: rustix
dependency-type: indirect
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-09-22 00:23:12 +00:00
dependabot[bot]
98c461e932
build: Bump rustix from 0.35.9 to 0.35.10
...
Bumps [rustix](https://github.com/bytecodealliance/rustix ) from 0.35.9 to 0.35.10.
- [Release notes](https://github.com/bytecodealliance/rustix/releases )
- [Commits](https://github.com/bytecodealliance/rustix/compare/v0.35.9...v0.35.10 )
---
updated-dependencies:
- dependency-name: rustix
dependency-type: indirect
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-09-21 23:47:11 +00:00
Sebastien Boeuf
76dbf85b79
net: Give the user the ability to set MTU
...
Add a new "mtu" parameter to the NetConfig structure and therefore to
the --net option. This allows Cloud Hypervisor's users to define the
Maximum Transmission Unit (MTU) they want to use for the network
interface that they create.
In details, there are two main aspects. On the one hand, the TAP
interface is created with the proper MTU if it is provided. And on the
other hand the guest is made aware of the MTU through the VIRTIO
configuration. That means the MTU is properly set on both the TAP on the
host and the network interface in the guest.
Signed-off-by: Sebastien Boeuf <sebastien.boeuf@intel.com>
2022-09-21 16:20:57 +02:00