In the Linux kernel, the following vulnerability has been resolved: KVM: x86: Use __try_cmpxchg_user() to update guest PTE A/D bits Use the recently introduced __try_cmpxchg_user() to update guest PTE A/D bits instead of mapping the PTE into kernel address space. The VM_PFNMAP path is broken as it assumes that vm_pgoff is the base pfn of the mapped VMA range, which is conceptually wrong as vm_pgoff is the offset relative to the file and has nothing to do with the pfn. The horrific hack worked for the original use case (backing guest memory with /dev/mem), but leads to accessing "random" pfns for pretty much any other VM_PFNMAP case.
https://git.kernel.org/stable/c/f122dfe4476890d60b8c679128cd2259ec96a24c
https://git.kernel.org/stable/c/8089e5e1d18402fb8152d6b6815450a36fffa9b0
https://git.kernel.org/stable/c/38b888911e8dc89b89d8147cfb1d2dbe6373bf78