[PATCH v9 01/25] mm/gup: factor out duplicate code from four routines