diff options
author | Jens Axboe <axboe@kernel.dk> | 2025-08-08 06:35:14 -0600 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2025-08-08 06:35:14 -0600 |
commit | 33503c083fda048c77903460ac0429e1e2c0e341 (patch) | |
tree | 161b8c3a6de755f59ffb92b4120037d34ab8948e /rust/helpers/poll.c | |
parent | 6f02527729bd31ca4e473bff19fda4ccd5889148 (diff) |
io_uring/memmap: cast nr_pages to size_t before shifting
If the allocated size exceeds UINT_MAX, then it's necessary to cast
the mr->nr_pages value to size_t to prevent it from overflowing. In
practice this isn't much of a concern as the required memory size will
have been validated upfront, and accounted to the user. And > 4GB sizes
will be necessary to make the lack of a cast a problem, which greatly
exceeds normal user locked_vm settings that are generally in the kb to
mb range. However, if root is used, then accounting isn't done, and
then it's possible to hit this issue.
Link: https://lore.kernel.org/all/6895b298.050a0220.7f033.0059.GAE@google.com/
Cc: stable@vger.kernel.org
Reported-by: syzbot+23727438116feb13df15@syzkaller.appspotmail.com
Fixes: 087f997870a9 ("io_uring/memmap: implement mmap for regions")
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'rust/helpers/poll.c')
0 files changed, 0 insertions, 0 deletions