Skip to content

Commit e1af357

Browse files
authored
Merge branch 'main' into test/sanitizer-integration-pipeline
2 parents 99c2b1f + a481d51 commit e1af357

File tree

144 files changed

+4496
-2984
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

144 files changed

+4496
-2984
lines changed

.cargo/audit.toml

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,18 @@
11
[advisories]
2-
# The `paste` dependency is transitively included via `gdbstub`.
3-
# While the crate is archived/unmaintained, the author considers it feature-complete
4-
# and functionally stable. gdbstub will be update once they migrate
5-
# to an alternative solution.
6-
# See https://github.com/daniel5151/gdbstub/issues/168
7-
ignore = ["RUSTSEC-2024-0436"]
2+
ignore = [
3+
# The `paste` dependency is transitively included via `gdbstub`.
4+
# While the crate is archived/unmaintained, the author considers it feature-complete
5+
# and functionally stable. gdbstub will be update once they migrate
6+
# to an alternative solution.
7+
# See https://github.com/daniel5151/gdbstub/issues/168
8+
"RUSTSEC-2024-0436",
9+
10+
# `rand` unsoundness when a custom logger re-enters `rand::rng()`/`thread_rng()`
11+
# during ThreadRng reseeding. Firecracker is not affected:
12+
# - uuid (1.23.0): does not enable `fast-rng` or `rng-rand` features, so it uses
13+
# `getrandom` directly and never calls into rand.
14+
# - proptest: uses rand 0.9 with `default-features = false` and does not enable
15+
# the `thread_rng` feature, so the affected functions are not compiled in.
16+
# See https://rustsec.org/advisories/RUSTSEC-2026-0097.html
17+
"RUSTSEC-2026-0097",
18+
]

.github/CODEOWNERS

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,19 @@
11
# All markdown files
2-
*.md @xmarcalx @kalyazin @pb8o @Manciukic
2+
*.md @kalyazin @Manciukic @micz010
33

44
# But not the ones in docs/
55
docs/*.md
66

77
# Except these specific ones
8-
docs/getting-started.md @xmarcalx @kalyazin @pb8o @Manciukic
9-
docs/prod-host-setup.md @xmarcalx @kalyazin @pb8o @Manciukic
8+
docs/getting-started.md @kalyazin @Manciukic @micz010
9+
docs/prod-host-setup.md @kalyazin @Manciukic @micz010
1010

1111
# Also cover all "*policy*.md" documents
12-
**/*policy*.md @xmarcalx @kalyazin @pb8o @Manciukic
13-
**/*POLICY*.md @xmarcalx @kalyazin @pb8o @Manciukic
12+
**/*policy*.md @kalyazin @Manciukic @micz010
13+
**/*POLICY*.md @kalyazin @Manciukic @micz010
1414

1515
# Also these non-md files in the repository root
16-
THIRD_PARTY @xmarcalx @kalyazin @pb8o @Manciukic
17-
LICENSE @xmarcalx @kalyazin @pb8o @Manciukic
18-
NOTICE @xmarcalx @kalyazin @pb8o @Manciukic
19-
PGP-KEY.asc @xmarcalx @kalyazin @pb8o @Manciukic
16+
THIRD-PARTY @kalyazin @Manciukic @micz010
17+
LICENSE @kalyazin @Manciukic @micz010
18+
NOTICE @kalyazin @Manciukic @micz010
19+
PGP-KEY.asc @kalyazin @Manciukic @micz010

CHANGELOG.md

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,16 @@ and this project adheres to
1414
support for Vsock Unix domain socket path overriding on snapshot restore. More
1515
information can be found in the
1616
[docs](docs/vsock.md/#unix-domain-socket-renaming).
17+
- [#5824](https://github.com/firecracker-microvm/firecracker/pull/5824): Add
18+
optional rate limiting to serial console output, configurable via the
19+
`rate_limiter` field on `PUT /serial`. A new metric is exposed under `uart`:
20+
`rate_limiter_dropped_bytes`.
21+
- [#5799](https://github.com/firecracker-microvm/firecracker/pull/5799): Add
22+
per-callsite rate limiting for error, warn, and info level log messages. Each
23+
callsite independently allows up to 10 messages per 5-second window. When
24+
logging resumes after suppression, a warn-level summary reports the count of
25+
suppressed messages. A new `rate_limited_log_count` metric tracks the total
26+
number of suppressed messages.
1727

1828
### Changed
1929

@@ -32,6 +42,12 @@ and this project adheres to
3242
HID (Hardware ID) of VMGenID device so that it aligns with the upstream Linux
3343
kernel. This caused the driver not to be bound correctly to the device prior
3444
to Linux kernel 6.10.
45+
- [#5764](https://github.com/firecracker-microvm/firecracker/pull/5764): Fixed a
46+
bug that caused the guest UART driver to get stuck and stop transmitting after
47+
snapshot restore. The bug was triggered by taking a snapshot while a serial
48+
transmission was taking place. On restore the driver would wait for a TX
49+
interrupt that would never arrive and no output would appear in the serial
50+
console.
3551
- [#5780](https://github.com/firecracker-microvm/firecracker/pull/5780): Fixed
3652
missing `/sys/devices/system/cpu/cpu*/cache/*` in aarch64 guests when running
3753
on host kernels >= 6.3 with guest kernels >= 6.1.156.
@@ -44,6 +60,27 @@ and this project adheres to
4460
balloon statistics descriptor length to prevent a guest-controlled oversized
4561
descriptor from temporarily stalling the VMM event loop. Only affects microVMs
4662
with `stats_polling_interval_s > 0`.
63+
- [#5809](https://github.com/firecracker-microvm/firecracker/pull/5809): Fixed a
64+
bug on host Linux >= 5.16 for x86_64 guests using the `kvm-clock` clock source
65+
causing the monotonic clock to jump on restore by the wall-clock time elapsed
66+
since the snapshot was taken. Users using `kvm-clock` that want to explicitly
67+
advance the clock with `KVM_CLOCK_REALTIME` can opt back in using the new
68+
`clock_realtime` flag in `LoadSnapshot` API.
69+
- [#5738](https://github.com/firecracker-microvm/firecracker/pull/5738): Fixed
70+
x86_64 snapshot serialization to cover the full KVM custom MSR range
71+
(0x4b564d00-0x4b564dff) instead of a small subset. Previously, some KVM MSRs
72+
such as MSR_KVM_ASYNC_PF_INT and MSR_KVM_ASYNC_PF_ACK were missing from
73+
snapshots, which could cause issues on restore.
74+
- [#5818](https://github.com/firecracker-microvm/firecracker/pull/5818): Enforce
75+
the virtio device initialization sequence in the PCI transport, matching the
76+
existing MMIO transport behavior. The PCI transport now validates device
77+
status transitions, rejects queue configuration writes outside the FEATURES_OK
78+
to DRIVER_OK window, rejects feature negotiation outside the DRIVER state,
79+
blocks re-initialization after a failed reset, and sets DEVICE_NEEDS_RESET
80+
when device activation fails.
81+
- [#5818](https://github.com/firecracker-microvm/firecracker/pull/5818): Reject
82+
device status writes that clear previously set bits in the MMIO transport,
83+
except for reset.
4784

4885
## [1.15.0]
4986

0 commit comments

Comments
 (0)