diff options
| author | Warner Losh <imp@bsdimp.com> | 2021-09-17 09:16:54 -0600 |
|---|---|---|
| committer | Warner Losh <imp@bsdimp.com> | 2021-10-18 12:51:38 -0600 |
| commit | 91a5adda1583fa8a3166bc16d79c67f3c87e958b (patch) | |
| tree | b93af69216b1d59fd20c97bb410efcaa7054df86 /bsd-user/mmap.c | |
| parent | 0fc76b685989d30a32316b17a9c43ba017e114a1 (diff) | |
| download | focaccia-qemu-91a5adda1583fa8a3166bc16d79c67f3c87e958b.tar.gz focaccia-qemu-91a5adda1583fa8a3166bc16d79c67f3c87e958b.zip | |
bsd-user/mmap.c: assert that target_mprotect cannot fail
Similar to the equivalent linux-user change 86abac06c14. All error conditions that target_mprotect checks are also checked by target_mmap. EACCESS cannot happen because we are just removing PROT_WRITE. ENOMEM should not happen because we are modifying a whole VMA (and we have bigger problems anyway if it happens). Fixes a Coverity false positive, where Coverity complains about target_mprotect's return value being passed to tb_invalidate_phys_range. Signed-off-by: Mikaël Urankar <mikael.urankar@gmail.com> Signed-off-by: Warner Losh <imp@bsdimp.com> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Reviewed-by: Kyle Evans <kevans@FreeBSD.org>
Diffstat (limited to 'bsd-user/mmap.c')
| -rw-r--r-- | bsd-user/mmap.c | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/bsd-user/mmap.c b/bsd-user/mmap.c index 5b6ed5eed1..13cb32dba1 100644 --- a/bsd-user/mmap.c +++ b/bsd-user/mmap.c @@ -604,10 +604,7 @@ abi_long target_mmap(abi_ulong start, abi_ulong len, int prot, } if (!(prot & PROT_WRITE)) { ret = target_mprotect(start, len, prot); - if (ret != 0) { - start = ret; - goto the_end; - } + assert(ret == 0); } goto the_end; } |