mirror of
https://github.com/torvalds/linux.git
synced 2026-10-07 05:31:08 -04:00
iov_iter_get_pages{,_alloc}(): cap the maxsize with MAX_RW_COUNT
All callers can and should handle iov_iter_get_pages() returning fewer pages than requested. All in-kernel ones do. And it makes the arithmetical overflow analysis much simpler... Reviewed-by: Jeff Layton <[email protected]> Signed-off-by: Al Viro <[email protected]>
This commit is contained in:
1 parent
18fa9af726
commit
7392ed1734
1 file changed
+4
@@ -1348,6 +1348,8 @@ ssize_t iov_iter_get_pages(struct iov_iter *i,
|
||||
maxsize = i->count;
|
||||
if (!maxsize)
|
||||
return 0;
|
||||
if (maxsize > MAX_RW_COUNT)
|
||||
maxsize = MAX_RW_COUNT;
|
||||
|
||||
if (likely(iter_is_iovec(i))) {
|
||||
unsigned int gup_flags = 0;
|
||||
@@ -1474,6 +1476,8 @@ ssize_t iov_iter_get_pages_alloc(struct iov_iter *i,
|
||||
maxsize = i->count;
|
||||
if (!maxsize)
|
||||
return 0;
|
||||
if (maxsize > MAX_RW_COUNT)
|
||||
maxsize = MAX_RW_COUNT;
|
||||
|
||||
if (likely(iter_is_iovec(i))) {
|
||||
unsigned int gup_flags = 0;
|
||||
|
||||
Reference in new issue
Block a user