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

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



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.

~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®.