[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH] Fix mem.c so that X Windows can restart




>>> On 5/25/2006 at 2:52 PM, in message
<6c2ece1dc117d8bbafad32bb376eb273@xxxxxxxxxxxx>, Keir Fraser
<Keir.Fraser@xxxxxxxxxxxx> 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@xxxxxxxxxxxxxxxxxxx 
> http://lists.xensource.com/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.