]> git.proxmox.com Git - mirror_qemu.git/commit
linux-user: Avoid mmap of the last byte of the reserved_va
authorRichard Henderson <richard.henderson@linaro.org>
Thu, 29 Jun 2023 08:08:35 +0000 (10:08 +0200)
committerRichard Henderson <richard.henderson@linaro.org>
Sat, 1 Jul 2023 06:33:08 +0000 (08:33 +0200)
commit605a8b5491a119a2a6efbf61e5a38f9374645990
tree4333862526cf2bee112cf3b226b2cbb013acfc9a
parent6ab1790226bcf55e6b3cdff1d0253c90d63de69f
linux-user: Avoid mmap of the last byte of the reserved_va

There is an overflow problem in mmap_find_vma_reserved:
when reserved_va == UINT32_MAX, end may overflow to 0.
Rather than a larger rewrite at this time, simply avoid
the final byte of the VA, which avoids searching the
final page, which avoids the overflow.

Cc: qemu-stable@nongnu.org
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1741
Fixes: 95059f9c ("include/exec: Change reserved_va semantics to last byte")
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Tested-by: Michael Tokarev <mjt@tls.msk.ru>
Reviewed-by: Michael Tokarev <mjt@tls.msk.ru>
Message-Id: <20230629080835.71371-1-richard.henderson@linaro.org>
linux-user/mmap.c