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