[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 5/7] linux-user: Use h2g_valid in qemu_vmalloc.
From: |
Richard Henderson |
Subject: |
[Qemu-devel] [PATCH 5/7] linux-user: Use h2g_valid in qemu_vmalloc. |
Date: |
Thu, 11 Feb 2010 15:11:59 -0800 |
---
linux-user/mmap.c | 9 ++++-----
1 files changed, 4 insertions(+), 5 deletions(-)
diff --git a/linux-user/mmap.c b/linux-user/mmap.c
index 25fc0b2..65fdc33 100644
--- a/linux-user/mmap.c
+++ b/linux-user/mmap.c
@@ -80,16 +80,15 @@ void mmap_unlock(void)
void *qemu_vmalloc(size_t size)
{
void *p;
- unsigned long addr;
+
mmap_lock();
/* Use map and mark the pages as used. */
p = mmap(NULL, size, PROT_READ | PROT_WRITE,
MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
- addr = (unsigned long)p;
- if (addr == (target_ulong) addr) {
- /* Allocated region overlaps guest address space.
- This may recurse. */
+ if (h2g_valid(p)) {
+ /* Allocated region overlaps guest address space. This may recurse. */
+ unsigned long addr = h2g(p);
page_set_flags(addr & TARGET_PAGE_MASK, TARGET_PAGE_ALIGN(addr + size),
PAGE_RESERVED);
}
--
1.6.6
- [Qemu-devel] [PATCH 2/6] Use TARGET_VIRT_ADDR_SPACE_BITS in h2g_valid., (continued)
- [Qemu-devel] [PATCH 2/6] Use TARGET_VIRT_ADDR_SPACE_BITS in h2g_valid., Richard Henderson, 2010/02/11
- [Qemu-devel] [PATCH 1/6] Move TARGET_PHYS_ADDR_SPACE_BITS to target-*/cpu.h., Richard Henderson, 2010/02/11
- [Qemu-devel] [PATCH 6/6] linux-user: Fix mmap_find_vma returning invalid addresses., Richard Henderson, 2010/02/11
- [Qemu-devel] [PATCH 5/6] linux-user: Use h2g_valid in qemu_vmalloc., Richard Henderson, 2010/02/11
- [Qemu-devel] [PATCH 0/7] Multi-level page tables and userland mapping fixes, v2, Richard Henderson, 2010/02/15
- [Qemu-devel] [PATCH 1/7] Move TARGET_PHYS_ADDR_SPACE_BITS to target-*/cpu.h., Richard Henderson, 2010/02/15
- [Qemu-devel] [PATCH 3/7] Fix last page errors in page_set_flags and page_check_range., Richard Henderson, 2010/02/15
- [Qemu-devel] [PATCH 7/7] Assert arguments in range for guest address space., Richard Henderson, 2010/02/15
- [Qemu-devel] [PATCH 5/7] linux-user: Use h2g_valid in qemu_vmalloc.,
Richard Henderson <=
- [Qemu-devel] [PATCH 2/7] Use TARGET_VIRT_ADDR_SPACE_BITS in h2g_valid., Richard Henderson, 2010/02/15
- [Qemu-devel] [PATCH 6/7] linux-user: Fix mmap_find_vma returning invalid addresses., Richard Henderson, 2010/02/15
- [Qemu-devel] [PATCH 4/7] Implement multi-level page tables., Richard Henderson, 2010/02/15
- Re: [Qemu-devel] [PATCH 0/6] Multi-level page tables and userland mapping fixes., Paul Brook, 2010/02/28