WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

[Xen-devel] Re: Bug#599089: linux-image-2.6.32-5-xen-686: Kernel Panics

To: Ian Campbell <ijc@xxxxxxxxxxxxxx>
Subject: [Xen-devel] Re: Bug#599089: linux-image-2.6.32-5-xen-686: Kernel Panics when using NFS from DomU to Dom0
From: Jason Kendall <jakendall@xxxxxxxxx>
Date: Tue, 05 Oct 2010 09:34:15 -0400
Cc: 599089@xxxxxxxxxxxxxxx, Jeremy Fitzhardinge <jeremy@xxxxxxxx>, xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxx>, Arnd Hannemann <hannemann@xxxxxxxxxxxxxxxxxxx>
Delivery-date: Fri, 08 Oct 2010 09:09:24 -0700
Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from :user-agent:mime-version:to:cc:subject:references:in-reply-to :content-type:content-transfer-encoding; bh=HTn5Oe0tFIX8/RazslbriF2F8kM0LVBFXECZ9g7qsmI=; b=g6sh3raPMIhbEtlIIlsJ1BIvKMIEyN1iinsBnxxOJeAYcM2GKi9msdQSluARdRl+AD jNsECYF7DrmqsFGQ6S+Lv/NwdhfziH3jyXSbLrzABi8Ov8N7lXAtxOCcrPjvAwuQk54w MUQPAXLlvsIXGsd2hEzNyY7lZVtUBqivqPBzk=
Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding; b=su8cWHPm40My41PHGyCir0K1nh93hpZ0eEgmVhLf11dLPrV+JhLAdxg8+C6/UOuUtL 7jsSTZR7cGmCXVgqHfuCKACCcHmKZwEGJ9ee06uo4AGWoLjl9JRCHXE5FFWO1Wq0622X qOIfmB5N29nJ2MSS95gr1dztlnbOxwmliWaDM=
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <1286272348.23155.7527.camel@xxxxxxxxxxxxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <4CA9EF03.20407@xxxxxxxxx> <1286272060.23155.7508.camel@xxxxxxxxxxxxxxxxxxxxxx> <1286272348.23155.7527.camel@xxxxxxxxxxxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.11) Gecko/20100713 Thunderbird/3.0.6
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<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);


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel