[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 01/23] bsd-user/mmap.c: Always zero MAP_ANONYMOUS memory in mmap_f
From: |
Warner Losh |
Subject: |
[PULL 01/23] bsd-user/mmap.c: Always zero MAP_ANONYMOUS memory in mmap_frag() |
Date: |
Mon, 18 Oct 2021 10:04:36 -0600 |
From: Mikaël Urankar <mikael.urankar@gmail.com>
Similar to the equivalent linux-user commit e6deac9cf99
When mapping MAP_ANONYMOUS memory fragments, still need notice about to
set it zero, or it will cause issues.
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: Kyle Evans <kevans@FreeBSD.org>
---
bsd-user/mmap.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/bsd-user/mmap.c b/bsd-user/mmap.c
index b40ab9045f..fc3c1480f5 100644
--- a/bsd-user/mmap.c
+++ b/bsd-user/mmap.c
@@ -180,10 +180,12 @@ static int mmap_frag(abi_ulong real_start,
if (prot_new != (prot1 | PROT_WRITE))
mprotect(host_start, qemu_host_page_size, prot_new);
} else {
- /* just update the protection */
if (prot_new != prot1) {
mprotect(host_start, qemu_host_page_size, prot_new);
}
+ if (prot_new & PROT_WRITE) {
+ memset(g2h_untagged(start), 0, end - start);
+ }
}
return 0;
}
--
2.32.0
- [PULL 00/23] Pull bsd user 20211018 patches, Warner Losh, 2021/10/18
- [PULL 04/23] bsd-user/mmap.c: mmap return ENOMEM on overflow, Warner Losh, 2021/10/18
- [PULL 01/23] bsd-user/mmap.c: Always zero MAP_ANONYMOUS memory in mmap_frag(),
Warner Losh <=
- [PULL 02/23] bsd-user/mmap.c: check pread's return value to fix warnings with _FORTIFY_SOURCE, Warner Losh, 2021/10/18
- [PULL 06/23] bsd-user/mmap.c: Convert to qemu_log logging for mmap debugging, Warner Losh, 2021/10/18
- [PULL 09/23] bsd-user/mmap.c: assert that target_mprotect cannot fail, Warner Losh, 2021/10/18
- [PULL 03/23] bsd-user/mmap.c: MAP_ symbols are defined, so no need for ifdefs, Warner Losh, 2021/10/18
- [PULL 14/23] bsd-user: export get_errno and is_error from syscall.c, Warner Losh, 2021/10/18
- [PULL 23/23] bsd-user/signal: Create a dummy signal queueing function, Warner Losh, 2021/10/18
- [PULL 20/23] bsd-user: Add stop_all_tasks, Warner Losh, 2021/10/18
- [PULL 08/23] bsd-user/mmap.c: Implement MAP_EXCL, required by jemalloc in head, Warner Losh, 2021/10/18
- [PULL 05/23] bsd-user/mmap.c: mmap prefer MAP_ANON for BSD, Warner Losh, 2021/10/18
- [PULL 11/23] bsd-user/target_os-user.h: Remove support for FreeBSD older than 12.0, Warner Losh, 2021/10/18