Hi Andrew,

Could you please fold this into this patch to use an unsigned long
page index in the walker?

diff --git a/mm/vmalloc.c b/mm/vmalloc.c
index 6a150b11261a3..48240fb674b9d 100644
--- a/mm/vmalloc.c
+++ b/mm/vmalloc.c
@@ -557,8 +557,8 @@ void vunmap_range(unsigned long addr, unsigned long end)
 }
 
 static int vmap_pages_pte_range(pmd_t *pmd, unsigned long addr,
-               unsigned long end, pgprot_t prot, struct page **pages, int *nr,
-               pgtbl_mod_mask *mask, unsigned int shift)
+               unsigned long end, pgprot_t prot, struct page **pages,
+               unsigned long *nr, pgtbl_mod_mask *mask, unsigned int shift)
 {
        const unsigned long chunk_pages = 1UL << (shift - PAGE_SHIFT);
        unsigned long pfn, size, chunk_end;
@@ -608,8 +608,8 @@ static int vmap_pages_pte_range(pmd_t *pmd, unsigned long 
addr,
 }
 
 static int vmap_pages_pmd_range(pud_t *pud, unsigned long addr,
-               unsigned long end, pgprot_t prot, struct page **pages, int *nr,
-               pgtbl_mod_mask *mask, unsigned int shift)
+               unsigned long end, pgprot_t prot, struct page **pages,
+               unsigned long *nr, pgtbl_mod_mask *mask, unsigned int shift)
 {
        pmd_t *pmd;
        unsigned long next;
@@ -646,8 +646,8 @@ static int vmap_pages_pmd_range(pud_t *pud, unsigned long 
addr,
 }
 
 static int vmap_pages_pud_range(p4d_t *p4d, unsigned long addr,
-               unsigned long end, pgprot_t prot, struct page **pages, int *nr,
-               pgtbl_mod_mask *mask, unsigned int shift)
+               unsigned long end, pgprot_t prot, struct page **pages,
+               unsigned long *nr, pgtbl_mod_mask *mask, unsigned int shift)
 {
        pud_t *pud;
        unsigned long next;
@@ -666,8 +666,8 @@ static int vmap_pages_pud_range(p4d_t *p4d, unsigned long 
addr,
 }
 
 static int vmap_pages_p4d_range(pgd_t *pgd, unsigned long addr,
-               unsigned long end, pgprot_t prot, struct page **pages, int *nr,
-               pgtbl_mod_mask *mask, unsigned int shift)
+               unsigned long end, pgprot_t prot, struct page **pages,
+               unsigned long *nr, pgtbl_mod_mask *mask, unsigned int shift)
 {
        p4d_t *p4d;
        unsigned long next;
@@ -696,7 +696,7 @@ static int vmap_pages_range_noflush_walk(unsigned long 
addr, unsigned long end,
        pgd_t *pgd;
        unsigned long next;
        int err = 0;
-       int nr = 0;
+       unsigned long nr = 0;
        pgtbl_mod_mask mask = 0;
 
        BUG_ON(addr >= end);

Thanks,
Wen

Reply via email to