CVE-2026-98650
Description
In the Linux kernel, the following vulnerability has been resolved: KVM: s390: Fix potential races in dat skey functions When dat_cond_set_storage_key() finds a large page, it will conditionally set the storage key in absolute memory using large_crste_to_phys() to get the absolute address. There is a race window between dat_entry_walk() and large_crste_to_phys(): the large page could have been split concurrently, and large_crste_to_phys() might be called with a crste that does not designate a large page, leading to crashes. Similar issues were also present in dat_set_storage_key(). dat_get_storage_key() and dat_reset_reference_bit() did instead check for a potential concurrent splitting of the large page, but then handled it incorrectly. Fix by performing a READ_ONCE on the crste pointer, checking and using the result, instead of dereferencing the pointer again. In case a race is detacted, try dat_entry_walk() again.
How to fix
- Linux Linuxc958f0498891203fddf2764b28f8b102c6bfd719, 27554b9505ddfc0aeab466aeb60929dfa17284c7 or later
Affected products
| Product | Affected versions | Fixed in |
|---|---|---|
| Linux Linux | 8e03e8316eb242af307d1c789d09f1a1457cf9a3 ≤ v < c958f0498891203fddf2764b28f8b102c6bfd719, 8e03e8316eb242af307d1c789d09f1a1457cf9a3 ≤ v < 27554b9505ddfc0aeab466aeb60929dfa17284c7, 7.0 | c958f0498891203fddf2764b28f8b102c6bfd719, 27554b9505ddfc0aeab466aeb60929dfa17284c7 |
Check your version
Choose the product and enter the version you run to see whether it falls in the affected range.
Attack Surface Management
See the assets tied to your domains, the technologies they run and known vulnerabilities in one list.