From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Clyde Griffin" Subject: Re: [PATCH] Fix mem.c so that X Windows can restart Date: Thu, 25 May 2006 16:14:40 -0600 Message-ID: <4475D7EB.F3F6.00AD.0@novell.com> References: <20060525193254.GA3419@los-vmm.sc.intel.com> <6c2ece1dc117d8bbafad32bb376eb273@cl.cam.ac.uk> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <6c2ece1dc117d8bbafad32bb376eb273@cl.cam.ac.uk> Content-Disposition: inline List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: Keir Fraser , "Donald D. Dugger" Cc: xen-devel@lists.xensource.com, Jun Nakajima List-Id: xen-devel@lists.xenproject.org >>> On 5/25/2006 at 2:52 PM, in message <6c2ece1dc117d8bbafad32bb376eb273@cl.cam.ac.uk>, Keir Fraser wrote: > On 25 May 2006, at 20:32, Donald D. Dugger wrote: > >> This patch fixes the problem where you cannot start X Windows on Dom0 >> after >> you have created an HVM guest. The problem is that X uses `mmap' to >> map >> 1 page at physical address 0 with read/write permission. Before an HVM >> guest is created this check at around line 1496 of `mm.c': >> >> if ( unlikely((x & (PGT_type_mask|PGT_va_mask)) != type) ) >> >> causes the offending code from this patch to be bypassed and X's `mmap' >> call works. After an HVM guest is created the check at 1496 of `mm.c' >> is >> now true and the code from this patch is executed, causing the `mmap' >> call to >> erroneously fail. > > This is totally bogus. That test (line 1496) should *never* be true for > pages that are not type PGT_l*_page_table. I think some HVM code is > indexing frame_table with a zero frame number and then fiddling with > fields in that very first page_info structure. That's very bad -- in > fact it's tempting to add some assertions about page 0 to be tested at > various suitable moments to prevent this sort of bad behaviour. Keir, We hit this very frequently. Any chance you could put together a patch with the asserts in place so we can throw it into our code base to try and catch the problem? Clyde > > -- Keir > > > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xensource.com > http://lists.xensource.com/xen-devel