From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1L9x7Y-00026N-E5 for qemu-devel@nongnu.org; Tue, 09 Dec 2008 02:35:04 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1L9x7W-000251-E3 for qemu-devel@nongnu.org; Tue, 09 Dec 2008 02:35:03 -0500 Received: from [199.232.76.173] (port=43767 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1L9x7W-00024o-9k for qemu-devel@nongnu.org; Tue, 09 Dec 2008 02:35:02 -0500 Received: from fmmailgate03.web.de ([217.72.192.234]:50033) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1L9x7V-0002OH-K7 for qemu-devel@nongnu.org; Tue, 09 Dec 2008 02:35:02 -0500 Message-ID: <493E1F9F.10202@web.de> Date: Tue, 09 Dec 2008 08:34:55 +0100 From: Jan Kiszka MIME-Version: 1.0 Subject: Re: [Qemu-devel] [PATCH] linux-user: Safety belt for h2g References: <1228303789-25653-1-git-send-email-kirill@shutemov.name> <1228303789-25653-2-git-send-email-kirill@shutemov.name> <1228303789-25653-3-git-send-email-kirill@shutemov.name> <1228303789-25653-4-git-send-email-kirill@shutemov.name> <20081208181535.GC14780@volta.aurel32.net> In-Reply-To: <20081208181535.GC14780@volta.aurel32.net> Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="------------enig24D99D1AF4654968569AD481" Sender: jan.kiszka@web.de Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Aurelien Jarno Cc: "Kirill A. Shutemov" , qemu-devel@nongnu.org This is an OpenPGP/MIME signed message (RFC 2440 and 3156) --------------enig24D99D1AF4654968569AD481 Content-Type: text/plain; charset=ISO-8859-15 Content-Transfer-Encoding: quoted-printable Aurelien Jarno wrote: > On Wed, Dec 03, 2008 at 01:29:39PM +0200, Kirill A. Shutemov wrote: >> From: Jan Kiszka >> >> h2g can only work on 64-bit hosts if the provided address is mappable = to >> the guest range. Neglecting this was already the source for several >> bugs. Instrument the macro so that it will trigger earlier in the >> future (at least as long as we have this kind of mapping mechanism). >> >> Signed-off-by: Jan Kiszka >> Signed-off-by: Kirill A. Shutemov >=20 > Applied. I have seen the patch has been modified since Jan Kiszka poste= d > it to the mailing list. Not sure a Signed-off-by still applies in that > case. Kirill correctly pointed out to me that target_ulong should rather be abi_ulong here and in the other patch. Good to see these changes finally merged! Jan >=20 >> --- >> cpu-all.h | 10 +++++++++- >> 1 files changed, 9 insertions(+), 1 deletions(-) >> >> diff --git a/cpu-all.h b/cpu-all.h >> index 73c7b4c..526ace2 100644 >> --- a/cpu-all.h >> +++ b/cpu-all.h >> @@ -621,6 +621,9 @@ static inline void stfq_be_p(void *ptr, float64 v)= >> /* MMU memory access macros */ >> =20 >> #if defined(CONFIG_USER_ONLY) >> +#include >> +#include "qemu-types.h" >> + >> /* On some host systems the guest address space is reserved on the ho= st. >> * This allows the guest address space to be offset to a convenient l= ocation. >> */ >> @@ -629,7 +632,12 @@ static inline void stfq_be_p(void *ptr, float64 v= ) >> =20 >> /* All direct uses of g2h and h2g need to go away for usermode softmm= u. */ >> #define g2h(x) ((void *)((unsigned long)(x) + GUEST_BASE)) >> -#define h2g(x) ((target_ulong)((unsigned long)(x) - GUEST_BASE)) >> +#define h2g(x) ({ \ >> + unsigned long __ret =3D (unsigned long)(x) - GUEST_BASE; \ >> + /* Check if given address fits target address space */ \ >> + assert(__ret =3D=3D (abi_ulong)__ret); \ >> + (abi_ulong)__ret; \ >> +}) >> =20 >> #define saddr(x) g2h(x) >> #define laddr(x) g2h(x) >> --=20 >> 1.6.0.2.GIT >> >> >> >> >=20 --------------enig24D99D1AF4654968569AD481 Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.8 (MingW32) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iEYEARECAAYFAkk+H58ACgkQniDOoMHTA+na8QCfRm1CLjGOFVbcW+7UterucUcj 4WQAn2Lw/OzdHe8YW1Tkfc+1sVOwYfai =jjm4 -----END PGP SIGNATURE----- --------------enig24D99D1AF4654968569AD481--