[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [Patch] linux-user/syscall.c - don't add GUEST_BASE to
From: |
Jan-Simon Möller |
Subject: |
Re: [Qemu-devel] [Patch] linux-user/syscall.c - don't add GUEST_BASE to NULL pointer |
Date: |
Wed, 26 Aug 2009 01:37:48 +0200 |
User-agent: |
KMail/1.9.9 |
Thinking a bit more about this, I wonder if g2h(x) shouldn't itself always
return NULL on x = NULL ?
Something like:
Signed-off-by: Jan-Simon Möller <address@hidden>
diff --git a/cpu-all.h b/cpu-all.h
index 1a6a812..631f678 100644
--- a/cpu-all.h
+++ b/cpu-all.h
@@ -633,7 +633,7 @@ extern int have_guest_base;
#endif
/* All direct uses of g2h and h2g need to go away for usermode softmmu. */
-#define g2h(x) ((void *)((unsigned long)(x) + GUEST_BASE))
+#define g2h(x) ( !x ? NULL:((void *)((unsigned long)(x) + GUEST_BASE)))
#define h2g(x) ({ \
unsigned long __ret = (unsigned long)(x) - GUEST_BASE; \
/* Check if given address fits target address space */ \
I read the comment above, but before replacing it in user-mode (if possible),
we should fix it ;) .
Best,
Jan-Simon