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

Re: [Xen-devel] qeustion: a panic in __do_update_va_mapping()



On November 01, 2016 7:16 PM, Andrew Cooper < andrew.cooper3@xxxxxxxxxx > wrote:
>On 01/11/16 11:01, Xuquan (Quan Xu) wrote:
>> Hi Andrew,
>>
>> When I run some application with Xen, I encounter a Panic with log as the
>bottom of this email.
>> I find this panic is as similar as your fix e4e9d2d4e76bd8fe22 'x86/p2m-ept:
>don't unmap the EPT pagetable while it is still in use'.
>
>Its not the same.  My fix was for a pagefault.  Your crash is hitting a
>BUG()
>
>You need to investigate which BUG() is being hit (you are clearly not using 
>staging,
>as page_alloc.c:429 is outside of a function), and why.
>

It is not using staging, a internal version, but the __do_update_va_mapping() 
is the same..
So I think it is similar to staging.

Quan


>~Andrew
>
>>
>> _iiuc_, in __do_update_va_mapping(),
>>
>> 'va' is unmapped before to call flush_tlb_one_mask(.., va).
>>
>> Specifically,
>> va is related to pl1e, pl1e = guest_map_l1e(va, &gl1mfn)...
>>
>> but va is unmapped here:
>> out:
>>     if ( pl1e )
>>         guest_unmap_l1e(pl1e);
>>
>> ...
>>
>> Before to call flush_tlb_one_mask(..., va);
>>
>> Is it right?
>> Also, I wonder whether I need to move 'put_page(gl1pg)' to the bottom of
>__do_update_va_mapping().
>>
>>
>> (XEN) Xen call trace:
>> (XEN)    [<ffff82c480140223>] panic+0xc3/0x1a0
>> (XEN)    [<ffff82c48015832a>] invalidate_interrupt+0x2a/0x30
>> (XEN)    [<ffff82c480126f62>] symbols_lookup+0x22/0x2a0
>> (XEN)    [<ffff82c480221408>] syscall_enter+0x88/0x8d
>> (XEN)    [<ffff82c480221408>] syscall_enter+0x88/0x8d
>> (XEN)    [<ffff82c48012750a>] __print_symbol+0x8a/0xc0
>> (XEN)    [<ffff82c480221408>] syscall_enter+0x88/0x8d
>> (XEN)    [<ffff82c48018d5d0>] show_stack+0x110/0x180
>> (XEN)    [<ffff82c4801186b6>] alloc_heap_pages+0x5f6/0x600
>> (XEN)    [<ffff82c4801186b6>] alloc_heap_pages+0x5f6/0x600
>> (XEN)    [<ffff82c48018e414>] do_invalid_op+0x394/0x420
>> (XEN)    [<ffff82c48021e093>] ept_set_entry+0x4d3/0x820
>> (XEN)    [<ffff82c480221898>] handle_exception_saved+0x30/0x6e
>>
>> (XEN)    [<ffff82c4801186b4>] alloc_heap_pages+0x5f4/0x600
>> (XEN)    [<ffff82c480118130>] alloc_heap_pages+0x70/0x600
>> (XEN)    [<ffff82c480118734>] alloc_domheap_pages+0x74/0x120
>> (XEN)    [<ffff82c4801144db>] do_memory_op+0x11db/0x2a40
>> (XEN)    [<ffff82c4801772ab>] get_page_type+0xb/0x20
>> (XEN)    [<ffff82c480177462>] get_page_from_l1e+0x1a2/0x680
>> (XEN)    [<ffff82c480173209>] is_iomem_page+0x9/0x80
>> (XEN)    [<ffff82c48017a655>] mod_l1_entry+0x1f5/0x720
>> (XEN)    [<ffff82c4801851dc>] flush_area_mask+0x7c/0x140
>> (XEN)    [<ffff82c48017ca53>] __do_update_va_mapping+0x453/0x7a0
>> (XEN)    [<ffff82c480226161>] do_iret+0xc1/0x1a0
>> (XEN)    [<ffff82c480221408>] syscall_enter+0x88/0x8d
>> (XEN)
>> (XEN)
>> (XEN) ****************************************
>> (XEN) Panic on CPU 30:
>> (XEN) Xen BUG at page_alloc.c:429
>> (XEN) ****************************************
>> (XEN)
>> (XEN) Reboot in five seconds...
>>
>>
>>
>> Quan
>>
>>

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

 


Rackspace

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