Re: [PATCH RFT 0/3] mm, drm: ensure .fault() does not have to be followed by .pfn_mkwrite() for write faults
"David Hildenbrand (Arm)" <[email protected]> Tue, 4 Aug 2026 14:19:28 +0200
| Newsgroups | gmane.linux.kernel,gmane.comp.emulators.kvm.devel,gmane.comp.video.dri.devel,gmane.linux.kernel.mm |
|---|---|
| Message-ID | <[email protected]> |
On 8/4/26 09:50, Paolo Bonzini wrote: > On Mon, Aug 3, 2026 at 5:18 PM David Hildenbrand (Arm) <[email protected]> wrote: >>> >> I was wondering about the following: >> >> mprotect(PROT_READ) >> >> followed by >> >> mprotect(PROT_READ | PROT_WRITE) >> >> You'd similarly end up without the writable bit in the PTE, and apparently there is not really a way >> to recover from this. > > Why not? mprotect_fixup() calls vma_set_page_prot(), the PTE as you > say lacks the writable bit (unless pte_dirty(pte)), and then the next > fault calls .pfn_mkwrite(). Ah, if this works, great. I guess I was confused about your explanation about fixup_user_fault(). So this really only about avoiding the second fault, makes sense thanks! -- Cheers, David