[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL v2 01/23] bsd-user/mmap.c: Always zero MAP_ANONYMOUS memory in mma
From: |
Warner Losh |
Subject: |
[PULL v2 01/23] bsd-user/mmap.c: Always zero MAP_ANONYMOUS memory in mmap_frag() |
Date: |
Mon, 18 Oct 2021 13:00:53 -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 v2 00/23] Pull bsd user 20211018 patches, Warner Losh, 2021/10/18
- [PULL v2 01/23] bsd-user/mmap.c: Always zero MAP_ANONYMOUS memory in mmap_frag(),
Warner Losh <=
- [PULL v2 03/23] bsd-user/mmap.c: MAP_ symbols are defined, so no need for ifdefs, Warner Losh, 2021/10/18
- [PULL v2 06/23] bsd-user/mmap.c: Convert to qemu_log logging for mmap debugging, Warner Losh, 2021/10/18
- [PULL v2 08/23] bsd-user/mmap.c: Implement MAP_EXCL, required by jemalloc in head, Warner Losh, 2021/10/18
- [PULL v2 09/23] bsd-user/mmap.c: assert that target_mprotect cannot fail, Warner Losh, 2021/10/18
- [PULL v2 04/23] bsd-user/mmap.c: mmap return ENOMEM on overflow, Warner Losh, 2021/10/18
- [PULL v2 02/23] bsd-user/mmap.c: check pread's return value to fix warnings with _FORTIFY_SOURCE, Warner Losh, 2021/10/18
- [PULL v2 05/23] bsd-user/mmap.c: mmap prefer MAP_ANON for BSD, Warner Losh, 2021/10/18
- [PULL v2 11/23] bsd-user/target_os-user.h: Remove support for FreeBSD older than 12.0, Warner Losh, 2021/10/18
- [PULL v2 10/23] meson: *-user: only descend into *-user when configured, Warner Losh, 2021/10/18
- [PULL v2 13/23] bsd-user: TARGET_RESET define is unused, remove it, Warner Losh, 2021/10/18