tag:github.com,2008:https://github.com/firecracker-microvm/firecracker/releases Tags from firecracker 2025-03-18T11:01:01Z tag:github.com,2008:Repository/107505869/v1.11.0 2025-03-18T14:29:45Z Firecracker v1.11.0 <p>Added</p> <p>* [<a class="issue-link js-issue-link" href="https://github.com/firecracker-microvm/firecracker/pull/4987">#4987</a>](<a class="issue-link js-issue-link" href="https://github.com/firecracker-microvm/firecracker/pull/4987">#4987</a>): Reset <br /> physical counter register (`CNTPCT_EL0`) on VM startup. This avoids VM reading <br /> the host physical counter value. This is only possible on 6.4 and newer <br /> kernels. For older kernels physical counter will still be passed to the guest <br /> unmodified. See more info <br /> [here](<a href="https://github.com/firecracker-microvm/firecracker/blob/main/docs/prod-host-setup.md#arm-only-vm-physical-counter-behaviour">https://github.com/firecracker-microvm/firecracker/blob/main/docs/prod-host-setup.md#arm-only-vm-physical-counter-behaviour</a>) <br />* [<a class="issue-link js-issue-link" href="https://github.com/firecracker-microvm/firecracker/pull/5088">#5088</a>](<a class="issue-link js-issue-link" href="https://github.com/firecracker-microvm/firecracker/pull/5088">#5088</a>): Added <br /> AMD Genoa as a supported and tested platform for Firecracker.</p> <p>Changed</p> <p>* [<a class="issue-link js-issue-link" href="https://github.com/firecracker-microvm/firecracker/pull/4913">#4913</a>](<a class="issue-link js-issue-link" href="https://github.com/firecracker-microvm/firecracker/pull/4913">#4913</a>): Removed <br /> unnecessary fields (`max_connections` and `max_pending_resets`) from the <br /> snapshot format, bumping the snapshot version to 5.0.0. Users need to <br /> regenerate snapshots. <br />* [<a class="issue-link js-issue-link" href="https://github.com/firecracker-microvm/firecracker/pull/4926">#4926</a>](<a class="issue-link js-issue-link" href="https://github.com/firecracker-microvm/firecracker/pull/4926">#4926</a>): Replace <br /> underlying implementation for seccompiler from in house one in favor of <br /> `libseccomp` which produces smaller and more optimized BPF code.</p> <p>Deprecated</p> <p>Removed</p> <p>Fixed</p> <p>* [<a class="issue-link js-issue-link" href="https://github.com/firecracker-microvm/firecracker/pull/4921">#4921</a>](<a class="issue-link js-issue-link" href="https://github.com/firecracker-microvm/firecracker/pull/4921">#4921</a>): Fixed <br /> swagger `CpuConfig` definition to include missing aarch64-specific fields. <br />* [<a class="issue-link js-issue-link" href="https://github.com/firecracker-microvm/firecracker/pull/4916">#4916</a>](<a class="issue-link js-issue-link" href="https://github.com/firecracker-microvm/firecracker/pull/4916">#4916</a>): Fixed <br /> `IovDeque` implementation to work with any host page size. This fixes <br /> virtio-net device on non 4K host kernels. <br />* [<a class="issue-link js-issue-link" href="https://github.com/firecracker-microvm/firecracker/pull/4991">#4991</a>](<a class="issue-link js-issue-link" href="https://github.com/firecracker-microvm/firecracker/pull/4991">#4991</a>): Fixed <br /> `mem_size_mib` and `track_dirty_pages` being mandatory for all <br /> `PATCH /machine-config` requests. Now, they can be omitted which leaves these <br /> parts of the machine configuration unchanged. <br />* [<a class="issue-link js-issue-link" href="https://github.com/firecracker-microvm/firecracker/pull/5007">#5007</a>](<a class="issue-link js-issue-link" href="https://github.com/firecracker-microvm/firecracker/pull/5007">#5007</a>): Fixed <br /> watchdog softlockup warning on x86_64 guests when a vCPU is paused during GDB <br /> debugging. <br />* [<a class="issue-link js-issue-link" href="https://github.com/firecracker-microvm/firecracker/pull/5021">#5021</a>](<a class="issue-link js-issue-link" href="https://github.com/firecracker-microvm/firecracker/pull/5021">#5021</a>) If a <br /> balloon device is inflated post UFFD-backed snapshot restore, Firecracker now <br /> causes `remove` UFFD messages to be sent to the UFFD handler. Previously, no <br /> such message would be sent. <br />* [<a class="issue-link js-issue-link" href="https://github.com/firecracker-microvm/firecracker/pull/5034">#5034</a>](<a class="issue-link js-issue-link" href="https://github.com/firecracker-microvm/firecracker/pull/5034">#5034</a>): Fix an <br /> integer underflow in the jailer when computing the value it passes to <br /> Firecracker's `--parent-cpu-time-us` values, which caused development builds <br /> of Firecracker to crash (but production builds were unaffected as underflows <br /> do not panic in release mode). <br />* [<a class="issue-link js-issue-link" href="https://github.com/firecracker-microvm/firecracker/pull/5045">#5045</a>](<a class="issue-link js-issue-link" href="https://github.com/firecracker-microvm/firecracker/pull/5045">#5045</a>): Fixed <br /> an issue where firecracker intermittently receives SIGHUP when using jailer <br /> with `--new-pid-ns` but without `--daemonize`. <br />* [<a class="issue-link js-issue-link" href="https://github.com/firecracker-microvm/firecracker/pull/4995">#4995</a>](<a class="issue-link js-issue-link" href="https://github.com/firecracker-microvm/firecracker/pull/4995">#4995</a>): <br /> Firecracker no longer overwrites CPUID leaf 0x80000000 when running AMD <br /> hardware, meaning the guest can now discover a greater range of CPUID leaves <br /> in the extended function range (this range is host kernel dependent). <br />* [<a class="issue-link js-issue-link" href="https://github.com/firecracker-microvm/firecracker/pull/5046">#5046</a>](<a class="issue-link js-issue-link" href="https://github.com/firecracker-microvm/firecracker/pull/5046">#5046</a>): Retry <br /> KVM_CREATE_VM on EINTR that occasionally happen on heavily loaded hosts to <br /> improve reliability of microVM creation. <br />* [<a class="issue-link js-issue-link" href="https://github.com/firecracker-microvm/firecracker/pull/5052">#5052</a>](<a class="issue-link js-issue-link" href="https://github.com/firecracker-microvm/firecracker/pull/5052">#5052</a>): Build <br /> the empty seccomp policy as default for debug builds to avoid crashes on <br /> syscalls introduced by debug assertions from Rust 1.80.0.</p> Manciukic tag:github.com,2008:Repository/107505869/v1.12.0-dev 2025-03-04T14:13:18Z v1.12.0-dev Manciukic tag:github.com,2008:Repository/107505869/v1.10.1 2024-11-13T10:56:54Z Firecracker v1.10.1 <p>Changed</p> <p>* [<a class="issue-link js-issue-link" href="https://github.com/firecracker-microvm/firecracker/pull/4907">#4907</a>](<a class="issue-link js-issue-link" href="https://github.com/firecracker-microvm/firecracker/pull/4907">#4907</a>): Bump <br /> snapshot version to 4.0.0.</p> JackThomson2 tag:github.com,2008:Repository/107505869/v1.11.0-dev 2024-11-07T12:09:32Z v1.11.0-dev JackThomson2 tag:github.com,2008:Repository/107505869/v1.10.0 2024-11-07T18:54:21Z Firecracker v1.10.0 <p>Added</p> <p>* [<a class="issue-link js-issue-link" href="https://github.com/firecracker-microvm/firecracker/pull/4834">#4834</a>](<a class="issue-link js-issue-link" href="https://github.com/firecracker-microvm/firecracker/pull/4834">#4834</a>): Add <br /> `VIRTIO_NET_F_RX_MRGBUF` support to the `virtio-net` device. When this feature <br /> is negotiated, guest `virtio-net` driver can perform more efficient memory <br /> management which in turn improves RX and TX performance. <br />* [<a class="issue-link js-issue-link" href="https://github.com/firecracker-microvm/firecracker/pull/4460">#4460</a>](<a class="issue-link js-issue-link" href="https://github.com/firecracker-microvm/firecracker/pull/4460">#4460</a>): Add a <br /> call to <br /> [`KVM_KVMCLOCK_CTRL`](<a href="https://docs.kernel.org/virt/kvm/api.html#kvm-kvmclock-ctrl">https://docs.kernel.org/virt/kvm/api.html#kvm-kvmclock-ctrl</a>) <br /> after pausing vCPUs on x86_64 architectures. This ioctl sets a flag in the KVM <br /> state of the vCPU indicating that it has been paused by the host userspace. In <br /> guests that use kvmclock, the soft lockup watchdog checks this flag. If it is <br /> set, it won't trigger the lockup condition. Calling the ioctl for guests that <br /> don't use kvmclock will fail. These failures are not fatal. We log the failure <br /> and increase the `vcpu.kvmclock_ctrl_fails` metric. <br />* [<a class="issue-link js-issue-link" href="https://github.com/firecracker-microvm/firecracker/pull/4869">#4869</a>](<a class="issue-link js-issue-link" href="https://github.com/firecracker-microvm/firecracker/pull/4869">#4869</a>): Added <br /> support for Aarch64 systems which feature CPU caches with a number of sets <br /> higher than `u16::MAX`. <br />* [<a class="issue-link js-issue-link" href="https://github.com/firecracker-microvm/firecracker/pull/4797">#4797</a>](<a class="issue-link js-issue-link" href="https://github.com/firecracker-microvm/firecracker/pull/4797">#4797</a>), <br /> [<a class="issue-link js-issue-link" href="https://github.com/firecracker-microvm/firecracker/pull/4854">#4854</a>](<a class="issue-link js-issue-link" href="https://github.com/firecracker-microvm/firecracker/pull/4854">#4854</a>): Added <br /> GDB debugging support for a microVM guest kernel. Please see our <br /> [GDB debugging documentation](docs/gdb-debugging.md) for more information.</p> <p>Changed</p> <p>* [<a class="issue-link js-issue-link" href="https://github.com/firecracker-microvm/firecracker/pull/4844">#4844</a>](<a class="issue-link js-issue-link" href="https://github.com/firecracker-microvm/firecracker/pull/4844">#4844</a>): Upgrade <br /> `virtio-net` device to use `readv` syscall to avoid unnecessary memory copies <br /> on RX path, increasing the RX performance.</p> <p>Deprecated</p> <p>Removed</p> <p>* [<a class="issue-link js-issue-link" href="https://github.com/firecracker-microvm/firecracker/pull/4804">#4804</a>](<a class="issue-link js-issue-link" href="https://github.com/firecracker-microvm/firecracker/pull/4804">#4804</a>): Drop <br /> Support for guest kernel 4.14. Linux 4.14 reached end-of-life in <br /> [January 2024](<a href="https://lore.kernel.org/lkml/2024011046-ecology-tiptoeing-ce50@gregkh/">https://lore.kernel.org/lkml/2024011046-ecology-tiptoeing-ce50@gregkh/</a>) <br /> The minimum supported guest kernel now is 5.10.</p> <p>Fixed</p> <p>* [<a class="issue-link js-issue-link" href="https://github.com/firecracker-microvm/firecracker/pull/4796">#4796</a>](<a class="issue-link js-issue-link" href="https://github.com/firecracker-microvm/firecracker/pull/4796">#4796</a>): Fixed <br /> Vsock not notifying guest about `TRANSPORT_RESET_EVENT` event after snapshot <br /> restore. This resulted in guest waiting indefinitely on a connection which was <br /> reset during snapshot creation. <br />* [<a class="issue-link js-issue-link" href="https://github.com/firecracker-microvm/firecracker/pull/4790">#4790</a>](<a class="issue-link js-issue-link" href="https://github.com/firecracker-microvm/firecracker/pull/4790">#4790</a>): v1.9.0 <br /> was missing most of the debugging information in the debuginfo file, due to a <br /> change in the Cargo defaults. This has been corrected. <br />* [<a class="issue-link js-issue-link" href="https://github.com/firecracker-microvm/firecracker/pull/4826">#4826</a>](<a class="issue-link js-issue-link" href="https://github.com/firecracker-microvm/firecracker/pull/4826">#4826</a>): Add <br /> missing configuration of tap offload features when restoring from a snapshot. <br /> Setting the features was previously <br /> [moved](<a class="commit-link" href="https://github.com/firecracker-microvm/firecracker/commit/49ed5ea4b48ccd98903da037368fa3108f58ac1f"><tt>49ed5ea</tt></a>) <br /> from net device creation to device activation time, but it was not reflected <br /> in the restore path. This was leading to inability to connect to the restored <br /> VM if the offload features were used.</p> JackThomson2 tag:github.com,2008:Repository/107505869/v1.9.1 2024-11-26T17:15:23Z Firecracker v1.9.1 <p>Fixed</p> <p>* [<a class="issue-link js-issue-link" href="https://github.com/firecracker-microvm/firecracker/pull/4824">#4824</a>](<a class="issue-link js-issue-link" href="https://github.com/firecracker-microvm/firecracker/pull/4824">#4824</a>): Add <br /> missing configuration of tap offload features when restoring from a snapshot. <br /> Setting the features was previously <br /> [moved](<a class="commit-link" href="https://github.com/firecracker-microvm/firecracker/commit/49ed5ea4b48ccd98903da037368fa3108f58ac1f"><tt>49ed5ea</tt></a>) <br /> from net device creation to device activation time, but it was not reflected <br /> in the restore path. This was leading to inability to connect to the restored <br /> VM if the offload features were used. <br />* [<a class="issue-link js-issue-link" href="https://github.com/firecracker-microvm/firecracker/pull/4829">#4829</a>](<a class="issue-link js-issue-link" href="https://github.com/firecracker-microvm/firecracker/pull/4829">#4829</a>): v1.9.0 <br /> was missing most of the debugging information in the debuginfo file, due to a <br /> change in the Cargo defaults. This has been corrected.</p> kalyazin tag:github.com,2008:Repository/107505869/v1.9.0 2024-09-03T12:11:11Z Firecracker v1.9.0 <p>Added</p> <p>* [<a class="issue-link js-issue-link" href="https://github.com/firecracker-microvm/firecracker/pull/4687">#4687</a>](<a class="issue-link js-issue-link" href="https://github.com/firecracker-microvm/firecracker/pull/4687">#4687</a>): Added <br /> VMGenID support for microVMs running on ARM hosts with 6.1 guest kernels. <br /> Support for VMGenID via DeviceTree bindings exists only on mainline 6.10 Linux <br /> onwards. Users of Firecracker will need to backport the relevant patches on <br /> top of their 6.1 kernels to make use of the feature. <br />* [<a class="issue-link js-issue-link" href="https://github.com/firecracker-microvm/firecracker/pull/4732">#4732</a>](<a class="issue-link js-issue-link" href="https://github.com/firecracker-microvm/firecracker/pull/4732">#4732</a>), <br /> [<a class="issue-link js-issue-link" href="https://github.com/firecracker-microvm/firecracker/pull/4733">#4733</a>](<a class="issue-link js-issue-link" href="https://github.com/firecracker-microvm/firecracker/pull/4733">#4733</a>), <br /> [<a class="issue-link js-issue-link" href="https://github.com/firecracker-microvm/firecracker/pull/4741">#4741</a>](<a class="issue-link js-issue-link" href="https://github.com/firecracker-microvm/firecracker/pull/4741">#4741</a>), <br /> [<a class="issue-link js-issue-link" href="https://github.com/firecracker-microvm/firecracker/pull/4746">#4746</a>](<a class="issue-link js-issue-link" href="https://github.com/firecracker-microvm/firecracker/pull/4746">#4746</a>): Added <br /> official support for 6.1 microVM guest kernels.</p> <p>Changed</p> <p>Deprecated</p> <p>* Support for guest kernel 4.14 is now deprecated. We will completely remove <br /> 4.14 support with Firecracker version v1.10</p> <p>Removed</p> <p>* [<a class="issue-link js-issue-link" href="https://github.com/firecracker-microvm/firecracker/pull/4689">#4689</a>](<a class="issue-link js-issue-link" href="https://github.com/firecracker-microvm/firecracker/pull/4689">#4689</a>): Drop <br /> support for host kernel 4.14. Linux 4.14 reached end-of-life in <br /> [January 2024](<a href="https://lore.kernel.org/lkml/2024011046-ecology-tiptoeing-ce50@gregkh/">https://lore.kernel.org/lkml/2024011046-ecology-tiptoeing-ce50@gregkh/</a>). <br /> The minimum supported kernel now is 5.10. Guest kernel 4.14 is still <br /> supported.</p> <p>Fixed</p> <p>* [4680](<a class="issue-link js-issue-link" href="https://github.com/firecracker-microvm/firecracker/pull/4680">#4680</a>): Fixed an <br /> issue <br /> ([<a class="issue-link js-issue-link" href="https://github.com/firecracker-microvm/firecracker/issues/4659">#4659</a>](<a class="issue-link js-issue-link" href="https://github.com/firecracker-microvm/firecracker/issues/4659">#4659</a>)) <br /> where the virtio-net device implementation would always assume the guest <br /> accepts all VirtIO features the device offers. This is always true with the <br /> Linux guest kernels we are testing but other kernels, like FreeBSD make <br /> different assumptions. This PR fixes the emulation code to set the TAP <br /> features based on the features accepted by the guest.</p> bchalios tag:github.com,2008:Repository/107505869/v1.10.0-dev 2024-08-30T12:42:48Z v1.10.0-dev bchalios tag:github.com,2008:Repository/107505869/v1.8.0 2024-07-10T09:15:47Z Firecracker v1.8.0 <p>Added</p> <p>* [<a class="issue-link js-issue-link" href="https://github.com/firecracker-microvm/firecracker/pull/4428">#4428</a>](<a class="issue-link js-issue-link" href="https://github.com/firecracker-microvm/firecracker/pull/4428">#4428</a>): Added <br /> ACPI support to Firecracker for x86_64 microVMs. Currently, we pass ACPI <br /> tables with information about the available vCPUs, interrupt controllers, <br /> VirtIO and legacy x86 devices to the guest. This allows booting kernels <br /> without MPTable support. Please see our <br /> [kernel policy documentation](docs/kernel-policy.md) for more information <br /> regarding relevant kernel configurations. <br />* [<a class="issue-link js-issue-link" href="https://github.com/firecracker-microvm/firecracker/pull/4487">#4487</a>](<a class="issue-link js-issue-link" href="https://github.com/firecracker-microvm/firecracker/pull/4487">#4487</a>): Added <br /> support for the Virtual Machine Generation Identifier (VMGenID) device on <br /> x86_64 platforms. VMGenID is a virtual device that allows VMMs to notify <br /> guests when they are resumed from a snapshot. Linux includes VMGenID support <br /> since version 5.18. It uses notifications from the device to reseed its <br /> internal CSPRNG. Please refer to <br /> [snapshot support](docs/snapshotting/snapshot-support.md) and <br /> [random for clones](docs/snapshotting/random-for-clones.md) documention for <br /> more info on VMGenID. VMGenID state is part of the snapshot format of <br /> Firecracker. As a result, Firecracker snapshot version is now 2.0.0.</p> <p>Changed</p> <p>* [<a class="issue-link js-issue-link" href="https://github.com/firecracker-microvm/firecracker/pull/4492">#4492</a>](<a class="issue-link js-issue-link" href="https://github.com/firecracker-microvm/firecracker/pull/4492">#4492</a>): Changed <br /> `--config` parameter of `cpu-template-helper` optional. Users no longer need <br /> to prepare kernel, rootfs and Firecracker configuration files to use <br /> `cpu-template-helper`. <br />* [<a class="issue-link js-issue-link" href="https://github.com/firecracker-microvm/firecracker/pull/4537">#4537</a>](<a class="issue-link js-issue-link" href="https://github.com/firecracker-microvm/firecracker/pull/4537">#4537</a>) Changed <br /> T2CL template to pass through bit 27 and 28 of `MSR_IA32_ARCH_CAPABILITIES` <br /> (`RFDS_NO` and `RFDS_CLEAR`) since KVM consider they are able to be passed <br /> through and T2CL isn't designed for secure snapshot migration between <br /> different processors. <br />* [<a class="issue-link js-issue-link" href="https://github.com/firecracker-microvm/firecracker/pull/4537">#4537</a>](<a class="issue-link js-issue-link" href="https://github.com/firecracker-microvm/firecracker/pull/4537">#4537</a>) Changed <br /> T2S template to set bit 27 of `MSR_IA32_ARCH_CAPABILITIES` (`RFDS_NO`) to 1 <br /> since it assumes that the fleet only consists of processors that are not <br /> affected by RFDS. <br />* [<a class="issue-link js-issue-link" href="https://github.com/firecracker-microvm/firecracker/pull/4388">#4388</a>](<a class="issue-link js-issue-link" href="https://github.com/firecracker-microvm/firecracker/pull/4388">#4388</a>): Avoid <br /> setting `kvm_immediate_exit` to 1 if are already handling an exit, or if the <br /> vCPU is stopped. This avoids a spurious KVM exit upon restoring snapshots. <br />* [<a class="issue-link js-issue-link" href="https://github.com/firecracker-microvm/firecracker/pull/4567">#4567</a>](<a class="issue-link js-issue-link" href="https://github.com/firecracker-microvm/firecracker/pull/4567">#4567</a>): Do not <br /> initialize vCPUs in powered-off state upon snapshot restore. No functional <br /> change, as vCPU initialization is only relevant for the booted case (where the <br /> guest expects CPUs to be powered off).</p> <p>Deprecated</p> <p>* Firecracker's `--start-time-cpu-us` and `--start-time-us` parameters are <br /> deprecated and will be removed in v2.0 or later. They are used by the jailer <br /> to pass the value that should be subtracted from the (CPU) time, when emitting <br /> the `start_time_us` and `start_time_cpu_us` metrics. These parameters were <br /> never meant to be used by end customers, and we recommend doing any such time <br /> adjustments outside Firecracker. <br />* Booting with microVM kernels that rely on MPTable on x86_64 is deprecated and <br /> support will be removed in v2.0 or later. We suggest to users of Firecracker <br /> to use guest kernels with ACPI support. For x86_64 microVMs, ACPI will be the <br /> only way Firecracker passes hardware information to the guest once MPTable <br /> support is removed.</p> <p>Fixed</p> <p>* [<a class="issue-link js-issue-link" href="https://github.com/firecracker-microvm/firecracker/pull/4526">#4526</a>](<a class="issue-link js-issue-link" href="https://github.com/firecracker-microvm/firecracker/pull/4526">#4526</a>): Added a <br /> check in the network TX path that the size of the network frames the guest <br /> passes to us is not bigger than the maximum frame the device expects to <br /> handle. On the TX path, we copy frames destined to MMDS from guest memory to <br /> Firecracker memory. Without the check, a mis-behaving virtio-net driver could <br /> cause an increase in the memory footprint of the Firecracker process. Now, if <br /> we receive such a frame, we ignore it and increase `Net::tx_malformed_frames` <br /> metric. <br />* [<a class="issue-link js-issue-link" href="https://github.com/firecracker-microvm/firecracker/pull/4536">#4536</a>](<a class="issue-link js-issue-link" href="https://github.com/firecracker-microvm/firecracker/pull/4536">#4536</a>): Make <br /> the first differential snapshot taken after a full snapshot contain only the <br /> set of memory pages changed since the full snapshot. Previously, these <br /> differential snapshots would contain all memory pages. This will result in <br /> potentially much smaller differential snapshots after a full snapshot. <br />* [<a class="issue-link js-issue-link" href="https://github.com/firecracker-microvm/firecracker/pull/4578">#4578</a>](<a class="issue-link js-issue-link" href="https://github.com/firecracker-microvm/firecracker/pull/4578">#4578</a>): Fix <br /> UFFD support not being forward-compatible with new ioctl options introduced in <br /> Linux 6.6. See also <br /> <a class="issue-link js-issue-link" href="https://github.com/bytecodealliance/userfaultfd-rs/issues/61">bytecodealliance/userfaultfd-rs#61</a>. <br />* [<a class="issue-link js-issue-link" href="https://github.com/firecracker-microvm/firecracker/pull/4630">#4630</a>](<a class="issue-link js-issue-link" href="https://github.com/firecracker-microvm/firecracker/pull/4630">#4630</a>): On <br /> x86_64, when taking a snapshot, if a vCPU has MSR_IA32_TSC_DEADLINE set to 0, <br /> Firecracker will replace it with the MSR_IA32_TSC value from the same vCPU. <br /> This is to guarantee that the vCPU will continue receiving TSC interrupts <br /> after restoring from the snapshot even if an interrupt is lost when taking a <br /> snapshot. <br />* [<a class="issue-link js-issue-link" href="https://github.com/firecracker-microvm/firecracker/pull/4666">#4666</a>](<a class="issue-link js-issue-link" href="https://github.com/firecracker-microvm/firecracker/pull/4666">#4666</a>): Fixed <br /> Firecracker sometimes restoring `MSR_IA32_TSC_DEADLINE` before `MSR_IA32_TSC`. <br /> Now it always restores `MSR_IA32_TSC_DEADLINE` MSR after `MSR_IA32_TSC`, as <br /> KVM relies on the guest TSC for correct restoration of <br /> `MSR_IA32_TSC_DEADLINE`. This fixed guests using the `TSC_DEADLINE` hardware <br /> feature receiving incorrect timer interrupts after snapshot restoration, which <br /> could lead to them seemingly getting stuck in sleep-related syscalls (see also <br /> <a class="issue-link js-issue-link" href="https://github.com/firecracker-microvm/firecracker/issues/4099">#4099</a>).</p> ShadowCurse tag:github.com,2008:Repository/107505869/v1.9.0-dev 2024-05-21T13:32:54Z v1.9.0-dev bchalios