From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:48076) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Ui3kV-0004YP-2r for qemu-devel@nongnu.org; Thu, 30 May 2013 10:22:44 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Ui3kQ-0008KV-AT for qemu-devel@nongnu.org; Thu, 30 May 2013 10:22:39 -0400 Message-ID: <51A760A8.3050307@suse.de> Date: Thu, 30 May 2013 16:22:32 +0200 From: =?UTF-8?B?QW5kcmVhcyBGw6RyYmVy?= MIME-Version: 1.0 References: <20130528141922.135a6dd0@redhat.com> <20130530085932.5db02527@redhat.com> <51A75122.9020305@redhat.com> <20130530091645.08e47dbb@redhat.com> <51A75DD4.8070908@suse.de> <20130530101427.698e1d0d@redhat.com> In-Reply-To: <20130530101427.698e1d0d@redhat.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] [PATCH] walk_pml4e(): fix abort on bad PML4E/PDPTE/PDE/PTE addresses List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Luiz Capitulino Cc: qiaonuohan@cn.fujitsu.com, Laszlo Ersek , qemu-stable@nongnu.org, qemu-devel Am 30.05.2013 16:14, schrieb Luiz Capitulino: > On Thu, 30 May 2013 16:10:28 +0200 > Andreas F=C3=A4rber wrote: >=20 >> Am 30.05.2013 15:16, schrieb Luiz Capitulino: >>> On Thu, 30 May 2013 15:16:18 +0200 >>> Laszlo Ersek wrote: >>> >>>> On 05/30/13 14:59, Luiz Capitulino wrote: >>>>> On Tue, 28 May 2013 14:19:22 -0400 >>>>> Luiz Capitulino wrote: >>>>> >>>>>> The code used to walk IA-32e page-tables, and possibly PAE page-ta= bles, >>>>>> uses the bit mask ~0xfff to get the next PML4E/PDPTE/PDE/PTE addre= ss. >>>>>> >>>>>> However, as we use a uint64_t to store the resulting address, that= mask >>>>>> gets expanded to 0xfffffffffffff000 which not only ends up selecti= ng >>>>>> reserved bits but also selects the XD bit (execute-disable) which >>>>>> happens to be enabled by Windows 8, causing qemu_get_ram_ptr() to = abort. >>>>>> >>>>>> This commit fixes that problem by replacing ~0xfff by a correct ma= sk >>>>>> that only selects the address bit range (ie. bits 51:12). >>>>>> >>>>>> Signed-off-by: Luiz Capitulino >>>>> >>>>> Ping? Wen? >>>>> >>>>> Would be nice get a Reviewed-by before merging... >>>> >>>> I didn't miss your submission and did find it OK, I just felt unsure >>>> about stating so, because "simple" patches like this are prime terri= tory >>>> to burn someone's R-b's worth (ie. to expose a reviewer's lack of >>>> information / experience). But hey, what can I lose? The patch does = look >>>> good to me, so >>> >>> Thank you Laszlo! It's also new territory for me, that's why I'm aski= ng >>> for reviews (otherwise I'd just sneak it in some pull request :-) >> >> Luiz, you aware aware that I have another fix by Nuohan queued that >> seemed orthogonal? >=20 > Yes, they should be orthogonal. >=20 >> If someone reviews my refactoring series (which >> resent that patch) I would like to send out a PULL for that rather soo= n, >> since it blocks further CPU work. I would then include your fix as wel= l >> to avoid merge conflicts. >=20 > Thanks, although I was going to include it in my tomorrow's QMP pull > request. Will this disturb your work? I hope not - could you then please pick up Nuohan's bugfix as well? Still I'd be interested in your review - and I have one more patch to add that I created offline yesterday wrt first paging-enabled CPU. Andreas --=20 SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 N=C3=BCrnberg, Germany GF: Jeff Hawn, Jennifer Guild, Felix Imend=C3=B6rffer; HRB 16746 AG N=C3=BC= rnberg