[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] Re: Bug#599089: linux-image-2.6.32-5-xen-686: Kernel Panics when using NFS from DomU to Dom0
On Tue, 2010-10-05 at 09:54 -0700, Jeremy Fitzhardinge wrote: > On 10/05/2010 02:52 AM, Ian Campbell wrote: > > On Tue, 2010-10-05 at 10:47 +0100, Ian Campbell wrote: > >> In addition to the kernel logging of the error I get this from the > >> hypervisor: > >> (XEN) mm.c:2062:d0 Error pfn 16d99: rd=ffff83011fefa000, > >> od=0000000000000000, caf=180000000000000, taf=0000000000000000 > >> (XEN) mm.c:658:d0 Could not get page ref for pfn 16d99 > >> (XEN) mm.c:3621:d0 Could not get page for mach->phys update > > Adding a bit more logging to the kernel I get: > > gnttb_copy_grant_page old c22ebcd8 P:0x1ec8e M:0xc499d F:0x41000000 > > gnttb_copy_grant_page new c2324ce0 P:0x1fe18 M:0x11cd32 F:0x40000000 > > (XEN) mm.c:2062:d0 Error pfn 1cd32: rd=ffff83011fefa000, > > od=0000000000000000, caf=180000000000000, taf=0000000000000000 > > (XEN) mm.c:658:d0 Could not get page ref for pfn 1cd32 > > (XEN) mm.c:3621:d0 Could not get page for mach->phys update > > > > Notice how MFN 0x11cd32 has become 0x1cd32 by the time it gets to the > > hypervisor! > > Oy, more of these. It might be better to use PFN_PHYS(). I thought there ought to be a helper but couldn't find one, PFN_PHYS sounds like a good bet, unless we want to alias it as MFN_MACH or something? > J > > > The following fixes it for me. > > > > From: Ian Campbell <ian.campbell@xxxxxxxxxx> > > Subject: xen: grant table: do not truncate machine address on > > gnttab_copy_grant_page > > > > Signed-off-by: Ian Campbell <ian.campbell@xxxxxxxxxx> > > > > --- a/drivers/xen/grant-table.c > > +++ b/drivers/xen/grant-table.c > > @@ -578,7 +578,7 @@ int gnttab_copy_grant_page(grant_ref_t ref, struct page > > **pagep) > > if (!xen_feature(XENFEAT_auto_translated_physmap)) { > > set_phys_to_machine(page_to_pfn(new_page), INVALID_P2M_ENTRY); > > > > - mmu.ptr = (new_mfn << PAGE_SHIFT) | MMU_MACHPHYS_UPDATE; > > + mmu.ptr = ((u64)new_mfn << PAGE_SHIFT) | MMU_MACHPHYS_UPDATE; > > mmu.val = pfn; > > err = HYPERVISOR_mmu_update(&mmu, 1, NULL, DOMID_SELF); > > BUG_ON(err); > > > > -- Ian Campbell "Not Hercules could have knock'd out his brains, for he had none." -- Shakespeare Attachment:
signature.asc _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |