Re: [PATCH 22/46] mm/gup: check for overflow when converting nr_pages to bytes in GUP-fast

From: Barry Song

Date: Tue Oct 27 2026 - 17:32:15 EST


On Tue, Oct 27, 2026 at 7:24 AM David Hildenbrand (Arm)
<david@xxxxxxxxxx> wrote:
>
> The overflow check in gup_fast_fallback() only covers the addition to
> start. The preceding nr_pages << PAGE_SHIFT can already have truncated
> the length on 32bit.
>
> Users such as RapidIO's rio_dma_transfer() can derive such page counts
> from a 64-bit userspace length.
>
> Let's just check_shl_overflow() to reject any such overflow with
> -EOVERFLOW early.
>
> Fixes: c28b1fc70390 ("mm/gup: reorganize internal_get_user_pages_fast()")
> Cc: stable@xxxxxxxxxxxxxxx
> Signed-off-by: David Hildenbrand (Arm) <david@xxxxxxxxxx>
> ---

Reviewed-by: Barry Song <baohua@xxxxxxxxxx>