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/
Home Products Support Community News


[Xen-changelog] [linux-2.6.18-xen] dom0: Fix bad pte at booting time

To: xen-changelog@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-changelog] [linux-2.6.18-xen] dom0: Fix bad pte at booting time
From: "Xen patchbot-linux-2.6.18-xen" <patchbot-linux-2.6.18-xen@xxxxxxxxxxxxxxxxxxx>
Date: Thu, 09 Oct 2008 10:10:11 -0700
Delivery-date: Thu, 09 Oct 2008 10:10:17 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-changelog-request@lists.xensource.com?subject=help>
List-id: BK change log <xen-changelog.lists.xensource.com>
List-post: <mailto:xen-changelog@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=unsubscribe>
Reply-to: xen-devel@xxxxxxxxxxxxxxxxxxx
Sender: xen-changelog-bounces@xxxxxxxxxxxxxxxxxxx
# HG changeset patch
# User Keir Fraser <keir.fraser@xxxxxxxxxx>
# Date 1223543473 -3600
# Node ID 75622c7943a9ae52cec513946615a0f8651ecbfd
# Parent  92094d768241532377ff6a88448118338a398ee0
dom0: Fix bad pte at booting time

Backport upstream kernel patch to fix Dom0's bad pte bug.
  -  In Dom0 kernel, at boot time, system will call bt_ioremap() to do
  mappings for the Boot Time Fix Memory region. Also system will call
  bt_iounmap() to unmap the memory region by setting phys=3D0. In this
  case, system will encounter pte_ERROR(). This patch backports the
  upstream kernel patch by Ingo Molnar <mingo@xxxxxxx>, with commit:

Signed-off-by: Dongxiao Xu <dongxiao.xu@xxxxxxxxx>
 arch/x86_64/mm/init-xen.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff -r 92094d768241 -r 75622c7943a9 arch/x86_64/mm/init-xen.c
--- a/arch/x86_64/mm/init-xen.c Wed Oct 08 14:13:52 2008 +0100
+++ b/arch/x86_64/mm/init-xen.c Thu Oct 09 10:11:13 2008 +0100
@@ -274,7 +274,7 @@ static __init void set_pte_phys(unsigned
                new_pte = __pte(0);
        pte = pte_offset_kernel(pmd, vaddr);
-       if (!pte_none(*pte) &&
+       if (!pte_none(*pte) && pte_val(new_pte) &&
            __pte_val(*pte) != (__pte_val(new_pte) & __supported_pte_mask))
        set_pte(pte, new_pte);
@@ -325,7 +325,7 @@ static __init void set_pte_phys_ma(unsig
        new_pte = pfn_pte_ma(phys >> PAGE_SHIFT, prot);
        pte = pte_offset_kernel(pmd, vaddr);
-       if (!pte_none(*pte) &&
+       if (!pte_none(*pte) && pte_val(new_pte) &&
            /* __acpi_map_table() fails to properly call clear_fixmap() */
            (vaddr < __fix_to_virt(FIX_ACPI_END) ||

Xen-changelog mailing list

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-changelog] [linux-2.6.18-xen] dom0: Fix bad pte at booting time, Xen patchbot-linux-2.6.18-xen <=