qemu-devel
[Top][All Lists]
Advanced

[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: Fri, 28 Aug 2009 15:20:59 +0200
User-agent: KMail/1.9.9

Am Mittwoch 26 August 2009 15:40:43 schrieb Riku Voipio:
> On Wed, Aug 26, 2009 at 01:37:48AM +0200, Jan-Simon Möller wrote:
> > Thinking a bit more about this, I wonder if g2h(x) shouldn't itself
> > always return NULL on x = NULL ?
>
> I agree this seems like a a better idea than modifying the users of g2h.
>
> > 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 */ \
> >
> >

Take the first patch for syscall.c / mount .

Unfortunately, the above one has side-effects where functions rely on a 
shifted NULL pointer ... 

Best,
Jan-Simon




reply via email to

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