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

Re: [Xen-devel] regression from 22242:7831b8e5aae2 (x86 guest pagetable walker: check for invalid bits in pagetable entries)?

  • To: "Tim Deegan" <tim@xxxxxxx>
  • From: "Jan Beulich" <JBeulich@xxxxxxxx>
  • Date: Fri, 17 Feb 2012 16:58:57 +0000
  • Cc: xen-devel <xen-devel@xxxxxxxxxxxxx>
  • Delivery-date: Fri, 17 Feb 2012 16:59:22 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xensource.com>

>>> On 17.02.12 at 17:23, Tim Deegan <tim@xxxxxxx> wrote:
> At 15:50 +0000 on 17 Feb (1329493838), Jan Beulich wrote:
>> The problem appears to be that the or-ing in of PFEC_reserved_bit
>> happens without consideration of PFEC_present. If you can confirm
>> I'm not mis-interpreting things, fixing this should be relatively
>> strait forward (though the question would be whether it should be
>> guest_walk_tables() or its callers that should be fixed).
> We should fix it in guest_walk_tables, since AFAICS it's possible for
> PFEC_reserved_bit to be set based on a bad higher-level entry even if a
> lower-level one has _PAGE_PRESENT clear.
> Something like the attached (compile-tested only) patch? 

That was really fast, thanks!

Yes, that looks like it should do it. We'll want to give it a try early
next week.

> (Sigh; this PT walker was once relatively readable and efficient.)

Sorry for that ;-) (I wonder though whether this whole evaluation
of the flags couldn't be put in a macro, as it's - apart from the level
number - the same in all four places afaics.


Xen-devel mailing list



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