[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] linux-user: Fix h2g usage in page_find_alloc
From: |
Aurelien Jarno |
Subject: |
Re: [Qemu-devel] [PATCH] linux-user: Fix h2g usage in page_find_alloc |
Date: |
Mon, 8 Dec 2008 19:16:22 +0100 |
User-agent: |
Mutt/1.5.18 (2008-05-17) |
On Wed, Dec 03, 2008 at 01:29:41PM +0200, Kirill A. Shutemov wrote:
> From: Jan Kiszka <address@hidden>
>
> 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.
Applied, thanks.
> Signed-off-by: Jan Kiszka <address@hidden>
> Signed-off-by: Kirill A. Shutemov <address@hidden>
> ---
> exec.c | 5 ++---
> 1 files changed, 2 insertions(+), 3 deletions(-)
>
> diff --git a/exec.c b/exec.c
> index 58a0cff..105812f 100644
> --- a/exec.c
> +++ b/exec.c
> @@ -305,14 +305,13 @@ static inline PageDesc *page_find_alloc(target_ulong
> index)
> 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);
> --
> 1.6.0.2.GIT
>
>
>
>
--
.''`. Aurelien Jarno | GPG: 1024D/F1BCDB73
: :' : Debian developer | Electrical Engineer
`. `' address@hidden | address@hidden
`- people.debian.org/~aurel32 | www.aurel32.net
- Re: [Qemu-devel] [PATCH] Rewrite mmap_find_vma() to work fine on 64-bit hosts with 32-bit targets, (continued)
- Re: [Qemu-devel] [PATCH] Rewrite mmap_find_vma() to work fine on 64-bit hosts with 32-bit targets, Martin Mohring, 2008/12/08
- [Qemu-devel] qemu and glibc version, Kirill A. Shutemov, 2008/12/08
- Re: [Qemu-devel] [PATCH] Rewrite mmap_find_vma() to work fine on 64-bit hosts with 32-bit targets, Robert Reif, 2008/12/09
- Re: [Qemu-devel] [PATCH] Rewrite mmap_find_vma() to work fine on 64-bit hosts with 32-bit targets, Kirill A. Shutemov, 2008/12/09
- Re: [Qemu-devel] [PATCH] Rewrite mmap_find_vma() to work fine on 64-bit hosts with 32-bit targets, Paul Brook, 2008/12/08
- Re: [Qemu-devel] [PATCH] Rewrite mmap_find_vma() to work fine on 64-bit hosts with 32-bit targets, Kirill A. Shutemov, 2008/12/09
- Re: [Qemu-devel] [PATCH] linux-user: Fix h2g usage in page_find_alloc, Edgar E. Iglesias, 2008/12/06
- Re: [Qemu-devel] [PATCH] linux-user: Fix h2g usage in page_find_alloc, Kirill A. Shutemov, 2008/12/06
- Re: [Qemu-devel] [PATCH] linux-user: Fix h2g usage in page_find_alloc,
Aurelien Jarno <=
- Re: [Qemu-devel] [PATCH] linux-user: Introduce h2g_valid, Aurelien Jarno, 2008/12/08
- Re: [Qemu-devel] [PATCH] linux-user: Safety belt for h2g, Edgar E. Iglesias, 2008/12/06
- Re: [Qemu-devel] [PATCH] linux-user: Safety belt for h2g, Aurelien Jarno, 2008/12/08
- Re: [Qemu-devel] [PATCH] linux-user: Safety belt for h2g, Andreas Färber, 2008/12/08
- Re: [Qemu-devel] [PATCH] linux-user: Safety belt for h2g, Jan Kiszka, 2008/12/09
- Re: [Qemu-devel] [PATCH] Move abi_* typedefs into qemu-types.h, Aurelien Jarno, 2008/12/07
- Re: [Qemu-devel] [PATCH] Move abi_* typedefs into qemu-types.h, Kirill A. Shutemov, 2008/12/08
- Re: [Qemu-devel] [PATCH] Move abi_* typedefs into qemu-types.h, Aurelien Jarno, 2008/12/08