Looks good and IMHO it's more self-documenting. Reviewed-by: <william.kucharski@xxxxxxxxxx> > On Aug 18, 2022, at 3:07 PM, Matthew Wilcox <willy@xxxxxxxxxxxxx> wrote: > > If the pages being mapped are in HIGHMEM, page_address() returns NULL. > This probably wasn't noticed before because there aren't currently > any architectures with HAVE_ARCH_HUGE_VMALLOC and HIGHMEM, but it's > simpler to call page_to_phys() and futureproofs us against such > configurations existing. > > Fixes: 121e6f3258fe ("mm/vmalloc: hugepage vmalloc mappings") > Signed-off-by: Matthew Wilcox (Oracle) <willy@xxxxxxxxxxxxx> > > diff --git a/mm/vmalloc.c b/mm/vmalloc.c > index dd6cdb201195..bea9b0c37295 100644 > --- a/mm/vmalloc.c > +++ b/mm/vmalloc.c > @@ -590,7 +590,7 @@ int vmap_pages_range_noflush(unsigned long addr, unsigned long end, > int err; > > err = vmap_range_noflush(addr, addr + (1UL << page_shift), > - __pa(page_address(pages[i])), prot, > + page_to_phys(pages[i]), prot, > page_shift); > if (err) > return err; >