[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 5/5] linux-user: Fix h2g usage in page_find_alloc
From: |
Jan Kiszka |
Subject: |
[Qemu-devel] [PATCH 5/5] linux-user: Fix h2g usage in page_find_alloc |
Date: |
Sat, 16 Aug 2008 11:38:40 +0200 |
User-agent: |
Mozilla/5.0 (X11; U; Linux i686 (x86_64); de; rv:1.8.1.12) Gecko/20080226 SUSE/2.0.0.12-1.1 Thunderbird/2.0.0.12 Mnenhy/0.7.5.666 |
Paul's comment on my first approach to fix the h2g usage in
page_find_alloc finally open my eyes about what the code is actually
supposed to do:
With the help of h2g_valid we can no cleanly check if a freshly allocate
page (for host usage) is guest-reachable and, in case it is, mark it
reserved in the guest's address range.
Signed-off-by: Jan Kiszka <address@hidden>
---
exec.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
Index: b/exec.c
===================================================================
--- a/exec.c
+++ b/exec.c
@@ -294,14 +294,13 @@ static inline PageDesc *page_find_alloc(
if (!p) {
/* allocate if not found */
#if defined(CONFIG_USER_ONLY)
- unsigned long addr;
size_t len = sizeof(PageDesc) * L2_SIZE;
/* Don't use qemu_malloc because it may recurse. */
p = mmap(0, len, PROT_READ | PROT_WRITE,
MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
*lp = p;
- addr = h2g(p);
- if (addr == (target_ulong)addr) {
+ if (h2g_valid(p)) {
+ unsigned long addr = h2g(p);
page_set_flags(addr & TARGET_PAGE_MASK,
TARGET_PAGE_ALIGN(addr + len),
PAGE_RESERVED);
- [Qemu-devel] [PATCH 0/5] linux-user: Detect and fix 32-bit guest on 64-bit host issues - v2, Jan Kiszka, 2008/08/16
- [Qemu-devel] [PATCH 1/5] linux-user: Safety belt for h2g, Jan Kiszka, 2008/08/16
- [Qemu-devel] [PATCH 4/5] linux-user: Introduce h2g_valid, Jan Kiszka, 2008/08/16
- [Qemu-devel] [PATCH 2/5] linux-user: Introduce qemu_vmalloc_guest_safe, Jan Kiszka, 2008/08/16
- [Qemu-devel] [PATCH 3/5] linux-user: Allocate guest-reachable descriptor tables, Jan Kiszka, 2008/08/16
- [Qemu-devel] [PATCH 5/5] linux-user: Fix h2g usage in page_find_alloc,
Jan Kiszka <=
- Re: [Qemu-devel] [PATCH 0/5] linux-user: Detect and fix 32-bit guest on 64-bit host issues - v2, Anthony Liguori, 2008/08/21