Description
In the Linux kernel, the following vulnerability has been resolved: RISC-V: KVM: Serialize IMSIC attributes with vCPU migration KVM device ioctls are not serialized against KVM_RUN. As a result, kvm_riscv_aia_imsic_rw_attr() can snapshot the physical CPU and HGEI of an IMSIC VS-file before a concurrent vCPU migration releases it. The HGEI can then be allocated to another vCPU before imsic_vsfile_rw() uses the stale tuple. A GET or SET attribute may consequently access the new owner's interrupt file. Serialize the entire IMSIC attribute operation with the target vCPU mutex. This prevents the VS-file from being migrated and recycled until the attribute access completes. Acquire the mutex killably so that the device ioctl remains interruptible while waiting for KVM_RUN to finish.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
db8b7e97d6137a28b2bfc07e591d54da268f0c36 to < 6c2bcf6b173d4afed883cceea9d47f2c5194161daffecteddb8b7e97d6137a28b2bfc07e591d54da268f0c36 to < a29c5d2dd2ef9a8617a9a6d5585696d5f149cd98affecteddb8b7e97d6137a28b2bfc07e591d54da268f0c36 to < c525772c304c971b0d3a1f2898dedbae653efe90affecteddb8b7e97d6137a28b2bfc07e591d54da268f0c36 to < 71acbea44e78665ea90e3c310fca6bbdcc0252dbaffecteddb8b7e97d6137a28b2bfc07e591d54da268f0c36 to < 8ae12ccaec6ec74945d8c1ef39f2c1b8df779abcaffected
Linux Linux
Default version status: affected
6.5affected0 to < 6.5unaffected6.6.160 to ≤ 6.6.*unaffected6.12.112 to ≤ 6.12.*unaffected6.18.55 to ≤ 6.18.*unaffected7.2.9 to ≤ 7.2.*unaffected7.3 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/6c2bcf6b173d4afed883cceea9d47f2c5194161d ↗
- https://git.kernel.org/stable/c/a29c5d2dd2ef9a8617a9a6d5585696d5f149cd98 ↗
- https://git.kernel.org/stable/c/c525772c304c971b0d3a1f2898dedbae653efe90 ↗
- https://git.kernel.org/stable/c/71acbea44e78665ea90e3c310fca6bbdcc0252db ↗
- https://git.kernel.org/stable/c/8ae12ccaec6ec74945d8c1ef39f2c1b8df779abc ↗