|
[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 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:
>> > The io emulation is handled by handle_pvh_io; there shouldn't be
>> > path for pvh domu leading to this function with all the
>> > restrictions and limitations it has at present.
>>
>> In which case we're back to the initial question: Why is this patch
>> needed in the first place? If there is a separate emulation path
>> already, how do we manage to get to the point where you added the
>> extra check?
>
> As described in the patch description:
>
> -----
> pvh doesn't use apic emulation, as a result vioapic_init is not called
> and vioapic ptr in struct hvm_domain is not initialized. One path that
> would access the ptr for pvh is :
>
> hvm_hap_nested_page_fault -> handle_mmio -> hvmemul_do_io ->
> hvm_mmio_intercept -> vioapic_range
So in your earlier reply (still quoted above) you said emulation gets
handled by handle_pvh_io(), yet here you point out a path going
through handle_mmio(). That's all very inconsistent.
> The only caller of hvm_hap_nested_page_fault is ept_handle_violation.
>
> Now, 3 calls to handle_mmio in hvm_hap_nested_page_fault:
> 1st is for nested vcpu, so doesn't apply to PVH.
> 2nd has is_hvm check,
>
> 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.
> Hope that makes sense, and I'll assume you are ok with
> pvh_mmio_handlers[] change. Otherwise, please lmk.
I would be fine with it if it was proven that a change here is needed
at all.
Jan
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |