On Fri, Aug 16, 2024 at 07:56:30PM +0200, David Hildenbrand wrote: > I think KVM does something nasty: if it something with a "struct page", and > it's not PageReserved, it would take a reference (if I get > kvm_pfn_to_refcounted_page()) independent if it's a "normal" or "not normal" > page -- it essentially ignores the vm_normal_page() information in the page > tables ... Oh that's nasty. Nothing should be upgrading the output of the follow functions to refcounted. That's what GUP is for. And PFNMAP pages, even if they have struct pages for some reason, should *NEVER* be refcounted because they are in a PFNMAP VMA. That is completely against the whole point :\ If they could be safely refcounted then it would be a MIXEDMAP. Jason