]> git.hungrycats.org Git - linux/commit
mm/gup_test: reject wrapped user ranges
authorSamuel Moelius <sam.moelius@trailofbits.com>
Tue, 9 Jun 2026 00:48:15 +0000 (00:48 +0000)
committerAndrew Morton <akpm@linux-foundation.org>
Sun, 21 Jun 2026 18:37:37 +0000 (11:37 -0700)
commite8ae6fd67021fafa9205330b3b248c9fc7216e0b
treed18bc7aa9bca4ef921df99dcaffce97736bc5898
parent5419cac89c0224b5acdbcda183a3c4809510ce95
mm/gup_test: reject wrapped user ranges

gup_test accepts an address and size from the debugfs ioctl and repeatedly
compares against addr + size.  If that addition wraps, the loop can be
skipped and the ioctl returns success with size rewritten to zero.

Compute the end address once with overflow checking and use that checked
end for the loop bounds.

Assisted-by: Codex:gpt-5.5-cyber-preview
Link: https://lore.kernel.org/20260609004814.1240586.6294d614ac80.gup-test-range-end-wrap@trailofbits.com
Signed-off-by: Samuel Moelius <sam.moelius@trailofbits.com>
Acked-by: David Hildenbrand (Arm) <david@kernel.org>
Cc: Jason Gunthorpe <jgg@ziepe.ca>
Cc: John Hubbard <jhubbard@nvidia.com>
Cc: Peter Xu <peterx@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
mm/gup_test.c