In the Linux kernel, the following vulnerability has been resolved:
KVM: x86: Use _trycmpxchg_user() to update guest PTE A/D bits
Use the recently introduced _trycmpxchguser() to update guest PTE A/D bits instead of mapping the PTE into kernel address space. The VMPFNMAP path is broken as it assumes that vmpgoff is the base pfn of the mapped VMA range, which is conceptually wrong as vmpgoff 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.