[PATCH v2 6/7] mm: Batch around can_change_pte_writable()
David Hildenbrand
david at redhat.com
Tue Apr 29 02:19:30 PDT 2025
> #include "internal.h"
>
> -bool can_change_pte_writable(struct vm_area_struct *vma, unsigned long addr,
> - pte_t pte)
> +bool can_change_ptes_writable(struct vm_area_struct *vma, unsigned long addr,
> + pte_t pte, struct folio *folio, unsigned int nr)
> {
> struct page *page;
>
> @@ -67,8 +67,9 @@ bool can_change_pte_writable(struct vm_area_struct *vma, unsigned long addr,
> * write-fault handler similarly would map them writable without
> * any additional checks while holding the PT lock.
> */
> - page = vm_normal_page(vma, addr, pte);
> - return page && PageAnon(page) && PageAnonExclusive(page);
> + if (!folio)
> + folio = vm_normal_folio(vma, addr, pte);
> + return folio_test_anon(folio) && !folio_maybe_mapped_shared(folio);
Oh no, now I spot it. That is horribly wrong.
Please understand first what you are doing.
--
Cheers,
David / dhildenb
More information about the linux-arm-kernel
mailing list