From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jason Kendall Subject: Bug#599089: linux-image-2.6.32-5-xen-686: Kernel Panics when using NFS from DomU to Dom0 Date: Tue, 05 Oct 2010 09:34:15 -0400 Message-ID: <4CAB2957.1060908@gmail.com> References: <4CA9EF03.20407@gmail.com> <1286272060.23155.7508.camel@zakaz.uk.xensource.com> <1286272348.23155.7527.camel@zakaz.uk.xensource.com> Reply-To: Jason Kendall , 599089@bugs.debian.org Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Return-path: Resent-To: debian-bugs-dist@lists.debian.org Resent-Message-ID: In-Reply-To: <1286272348.23155.7527.camel@zakaz.uk.xensource.com> List-Post: List-Help: List-Subscribe: List-Unsubscribe: To: Ian Campbell Cc: 599089@bugs.debian.org, Jeremy Fitzhardinge , xen-devel , Arnd Hannemann List-Id: xen-devel@lists.xenproject.org Thats great Ian; I'll test the patch later today or tomorrow and get you a confirmation. Regards, Jason On 10-10-05 05: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! > > The following fixes it for me. > > From: Ian Campbell > Subject: xen: grant table: do not truncate machine address on gnttab_copy_grant_page > > Signed-off-by: Ian Campbell > > --- 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); > >