Message ID | 20241107214137.428439-1-jingzhangos@google.com (mailing list archive) |
---|---|
Headers | show |
Series | Some fixes about vgic-its | expand |
On Thu, 7 Nov 2024 13:41:32 -0800, Jing Zhang wrote: > This patch series addresses a critical issue in the VGIC ITS tables' > save/restore mechanism, accompanied by a comprehensive selftest for bug > reproduction and verification. > > The fix is originally from Kunkun Jiang at [1]. > > The identified bug manifests as a failure in VM suspend/resume operations. > The root cause lies in the repeated suspend attempts often required for > successful VM suspension, coupled with concurrent device interrupt registration > and freeing. This concurrency leads to inconsistencies in ITS mappings before > the save operation, potentially leaving orphaned Device Translation Entries > (DTEs) and Interrupt Translation Entries (ITEs) in the respective tables. > > [...] Taking the immediate fixes for now, selftest might need a bit more work (will review soon). Note that I squashed patch 2 + 3 together as well. Applied to kvmarm/next, thanks! [3/5] KVM: arm64: vgic-its: Add a data length check in vgic_its_save_* https://git.kernel.org/kvmarm/kvmarm/c/7fe28d7e68f9 [4/5] KVM: arm64: vgic-its: Clear DTE when MAPD unmaps a device https://git.kernel.org/kvmarm/kvmarm/c/e9649129d33d [5/5] KVM: arm64: vgic-its: Clear ITE when DISCARD frees an ITE https://git.kernel.org/kvmarm/kvmarm/c/7602ffd1d5e8 -- Best, Oliver