[PATCH v2 12/32] mm/vmalloc: vmalloc_to_page() use pte_offset_kernel()

Hugh Dickins hughd at google.com
Tue Jul 11 09:13:18 PDT 2023


On Tue, 11 Jul 2023, Mark Brown wrote:
> On Mon, Jul 10, 2023 at 09:34:42PM -0700, Hugh Dickins wrote:
> 
> > I suppose I should ask you to try reverting this 0d1c81edc61e alone
> > from 6.5-rc1: the consistency of your bisection implies that it will
> > "fix" the issues, and it is a commit which we could drop.  It makes
> > me a little nervous, applying userspace-pagetable validation to kernel
> > pagetables, so I don't want to drop it; and it would really be cargo-
> > culting to drop it without understanding.  But we could drop it.
> 
> I did look at that, it doesn't revert cleanly by itself. ...

Right, that ptep_get() wrapper on the next line came in on top.
The patch to revert just 0d1c81edc61e is this:

--- a/mm/vmalloc.c
+++ b/mm/vmalloc.c
@@ -703,10 +703,11 @@ struct page *vmalloc_to_page(const void
 	if (WARN_ON_ONCE(pmd_bad(*pmd)))
 		return NULL;
 
-	ptep = pte_offset_kernel(pmd, addr);
+	ptep = pte_offset_map(pmd, addr);
 	pte = ptep_get(ptep);
 	if (pte_present(pte))
 		page = pte_page(pte);
+	pte_unmap(ptep);
 
 	return page;
 }



More information about the linux-arm-kernel mailing list