aboutsummaryrefslogtreecommitdiff
path: root/linux-user/mmap.c
diff options
context:
space:
mode:
authorJürg Billeter <j@bitron.ch>2013-06-29 11:41:32 +0200
committerRiku Voipio <riku.voipio@linaro.org>2013-07-05 15:45:40 +0300
commit8384274eda1d7cb01f326143fa6118562c1eb5be (patch)
tree8a1b96d85dffb4254366e180fa46da25023086aa /linux-user/mmap.c
parentf651e6ae55b047a8ac4b6b5891fe69ba4c66c57c (diff)
linux-user: Do not ignore mmap failure from host
File mapping may fail with EACCES. Signed-off-by: Jürg Billeter <j@bitron.ch> Message-id: 1372498892-23676-1-git-send-email-j@bitron.ch Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'linux-user/mmap.c')
-rw-r--r--linux-user/mmap.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/linux-user/mmap.c b/linux-user/mmap.c
index b412e3fe0a..de2219768d 100644
--- a/linux-user/mmap.c
+++ b/linux-user/mmap.c
@@ -483,6 +483,10 @@ abi_long target_mmap(abi_ulong start, abi_ulong len, int prot,
if (!(flags & MAP_ANONYMOUS)) {
p = mmap(g2h(start), len, prot,
flags | MAP_FIXED, fd, host_offset);
+ if (p == MAP_FAILED) {
+ munmap(g2h(start), host_len);
+ goto fail;
+ }
host_start += offset - host_offset;
}
start = h2g(host_start);