Description
In the Linux kernel, the following vulnerability has been resolved: KVM: arm64: Eagerly init vgic dist/redist on vgic creation If vgic_allocate_private_irqs_locked() fails for any odd reason, we exit kvm_vgic_create() early, leaving dist->rd_regions uninitialised. kvm_vgic_dist_destroy() then comes along and walks into the weeds trying to free the RDs. Got to love this stuff. Solve it by moving all the static initialisation early, and make sure that if we fail halfway, we're in a reasonable shape to perform the rest of the teardown. While at it, reset the vgic model on failure, just in case...
Product status
b3aa9283c0c505b5cfd25f7d6cfd720de2adc807 (git) before b7493f48c3dba75674a4ee505b4afa8fe5102457
b3aa9283c0c505b5cfd25f7d6cfd720de2adc807 (git) before a24f1d80fbcdbf8b2a7044a00fa12b3972b4c31c
b3aa9283c0c505b5cfd25f7d6cfd720de2adc807 (git) before ac6769c8f948dff33265c50e524aebf9aa6f1be0
6.14
Any version before 6.14
6.18.19 (semver)
6.19.9 (semver)
7.0 (original_commit_for_fix)
References
git.kernel.org/...c/b7493f48c3dba75674a4ee505b4afa8fe5102457
git.kernel.org/...c/a24f1d80fbcdbf8b2a7044a00fa12b3972b4c31c
git.kernel.org/...c/ac6769c8f948dff33265c50e524aebf9aa6f1be0