--- x/mm/gup.c +++ y/mm/gup.c @@ -2981,6 +2981,7 @@ static int gup_fast_pmd_leaf(pmd_t orig, return 0; } + pages += *nr; *nr += refs; for (; refs; refs--) *(pages++) = page++; @@ -3024,6 +3025,7 @@ static int gup_fast_pud_leaf(pud_t orig, return 0; } + pages += *nr; *nr += refs; for (; refs; refs--) *(pages++) = page++;