qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH for-2.1] linux-user: hide reserved mmap in /proc/sel


From: Mikhail Ilin
Subject: [Qemu-devel] [PATCH for-2.1] linux-user: hide reserved mmap in /proc/self/mmap
Date: Fri, 18 Jul 2014 11:42:31 +0400
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.6.0

Hi,

Running 32-bits binaries with address sanitizer (ASAN) instrumentations
fails under 64-bits qemu. During initialization ASAN relies on the output
from /proc/self/mmap then tries to find a big chunk for shadow memory but
it is not happened.

Reserved memory for guest address space is used privately by qemu to
satisfy user anonymous mmap calls but in the same time it is not hidden
from an application and is reported when a user reads /proc/self/mmap.
Qemu is not fully transparent for a guest.

The patch covers the case and cleans up the reserved memory map from
the output.


From 167c42e6a9521c05ddd7c6dfbb108d2ae65de098 Mon Sep 17 00:00:00 2001
From: Mikhail Ilyin <address@hidden>
Date: Fri, 18 Jul 2014 10:14:06 +0400
Subject: [PATCH] Clean up the reserved memory map from /proc/self/mmap output
which doesn't belong to an emulated process.

Signed-off-by: Mikhail Ilyin <address@hidden>
---
 linux-user/syscall.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index a50229d..8f406e4 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -5122,6 +5122,13 @@ static int open_self_maps(void *cpu_env, int fd)
             continue;
         }
         if (h2g_valid(min) && h2g_valid(max)) {
+#ifdef CONFIG_USE_GUEST_BASE
+            if (RESERVED_VA) {
+                if (mmap_next_start == h2g(max)) {
+                    continue;
+                }
+            }
+#endif
             dprintf(fd, TARGET_ABI_FMT_lx "-" TARGET_ABI_FMT_lx
                     " %c%c%c%c %08" PRIx64 " %02x:%02x %d %s%s\n",
                     h2g(min), h2g(max), flag_r, flag_w,
--
1.9.1




reply via email to

[Prev in Thread] Current Thread [Next in Thread]