commit | 275a320702c057fd4d39f9f726e8df6465f3d447 | [log] [tgz] |
---|---|---|
author | Noah Gold <nkgold@google.com> | Thu Mar 30 23:06:54 2023 -0700 |
committer | crosvm LUCI <crosvm-scoped@luci-project-accounts.iam.gserviceaccount.com> | Sat Apr 01 03:52:36 2023 +0000 |
tree | 9c237dd5d065b654a47f080e4fe5aec93f3e8340 | |
parent | 90a6f2128ef9b43571e0d286e10e17bfbf6778f7 [diff] |
devices: MsixConfig: clear vectors on restore. The initial restore code just discarded any existing vectors on restore. This is fine in the case of a cold restore, but in the case of a warm restore is not a good idea. It could leak IRQ lines, and/or fail to create the desired GSI because it was previously registered with different routing data. To fix this, we explicitly release all vectors on restore. BUG=b:276355925 TEST=presubmit Change-Id: Id8e671e905e9ef1a86f31db582abba8246c2036d Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/4385819 Reviewed-by: Frederick Mayle <fmayle@google.com> Commit-Queue: Noah Gold <nkgold@google.com>
crosvm is a virtual machine monitor (VMM) based on Linux’s KVM hypervisor, with a focus on simplicity, security, and speed. crosvm is intended to run Linux guests, originally as a security boundary for running native applications on the ChromeOS platform. Compared to QEMU, crosvm doesn’t emulate architectures or real hardware, instead concentrating on paravirtualized devices, such as the virtio standard.
crosvm is currently used to run Linux/Android guests on ChromeOS devices.