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

Re: [Xen-devel] [V9 PATCH 7/8] pvh dom0: check for vioapic null ptr in vioapic_range



>>> On 23.04.14 at 23:18, <mukesh.rathor@xxxxxxxxxx> wrote:
> On Wed, 23 Apr 2014 10:07:25 +0100
> "Jan Beulich" <JBeulich@xxxxxxxx> wrote:
> 
>> >>> On 23.04.14 at 02:11, <mukesh.rathor@xxxxxxxxxx> wrote:
>> > On Tue, 22 Apr 2014 08:33:29 +0100
>> > "Jan Beulich" <JBeulich@xxxxxxxx> wrote:
>> >> >>> On 22.04.14 at 02:59, <mukesh.rathor@xxxxxxxxxx> wrote:
> ......
> 
>> >   So it must have been the third one that I had observed the
>> >   vioapic_range crash in a while ago, and had made note of it.
>> > Looking at it:
>> > 
>> >     if ( (p2mt == p2m_mmio_dm) ||
>> >          (access_w && (p2mt == p2m_ram_ro)) )
>> >     {
>> >         put_gfn(p2m->domain, gfn);
>> >         if ( !handle_mmio() )
>> > 
>> > doesn't seem apply to domu. Unfortunately, I can't reproduce it now
>> > so maybe it was an ept violation due to some bug, and a crash in 
>> > vioapic_range before printing the gfn/mfns etc by
>> > ept_handle_violation made me make a note to put a check in it.
>> 
>> Which makes me think that we don't need the patch at all.
> 
> Well, without this patch, in case of dom0 EPT violation, dom0 will
> not die gracefully printing gfn/mfn/etc.. info. But instead it will
> show fault in vioapic_range. 
> 
> 
> ept_handle_violation() 
>        hvm_hap_nested_page_fault()
>              -> handle_mmio() -----> vioapic_range() : KABOOM!!
> 
>        gdprintk(XENLOG_ERR, "EPT violation %#lx (%c%c%c/%c%c%c), "
>                     "gpa %#"PRIpaddr", mfn %#lx, type %i.\n",
>                                  qualification,  <=== NOT REACHED
>           .......
> 
> I can submit it later too I guess. But without it, we'd not know
> the ept violation crashes.

So we're moving in circles I'm afraid: You told us that I/O emulation
is being handled by a separate path from HVM's, which means either
handle_mmio() separates the cases itself, or doesn't even get
called, only to then again show us the call sequence above. One
of the two statements can't be correct, and what I'd like you to do
about it depends on which one it is.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

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