CyberRota Analysis
AI-GeneratedThe vulnerability affects the Linux kernel's KVM subsystem, specifically the keyop function, which improperly accesses the gmap->asce variable without holding the necessary mmu_lock, unlike other functions in the same file. This oversight can lead to memory corruption due to the potential use of stale values when KVM_S390_KEYOP and KVM_S390_VM_MEM_LIMIT_SIZE operations run concurrently. Organizations utilizing Linux systems with KVM should prioritize addressing this vulnerability to mitigate risks associated with memory corruption.
Original NVD Description
In the Linux kernel, the following vulnerability has been resolved: KVM: s390: keyop: use mmu_lock to read gmap->asce Every other dat_* consumer in this file (kvm_s390_get_skeys, set_skeys, get_cmma_bits, set_cmma_bits, MEM_CLR_CMMA, kvm_s390_fixup_prefix, kvm_test_age_gfn, kvm_age_gfn) reads kvm->arch.gmap->asce *inside* the mmu_lock read-side. keyop is the only outlier. gmap->asce is mutated under write_lock(mmu_lock) by gmap_set_limit() and keyop might use a stale asce value for walking as KVM_S390_KEYOP and KVM_S390_VM_MEM_LIMIT_SIZE can run concurrently. This can result in memory corruption.