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-changelog

[Xen-changelog] [xen-unstable] x86 mce: Fix panic in mcheck_mca_logout

To: xen-changelog@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-changelog] [xen-unstable] x86 mce: Fix panic in mcheck_mca_logout
From: Xen patchbot-unstable <patchbot-unstable@xxxxxxxxxxxxxxxxxxx>
Date: Tue, 15 Sep 2009 02:00:37 -0700
Delivery-date: Tue, 15 Sep 2009 02:02:01 -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 1253003141 -3600
# Node ID 56595ee2720aded81ff3690948be5bcffe2b562c
# Parent  5eb18970469000dc6636c4839dd071b56cfd9abd
x86 mce: Fix panic in mcheck_mca_logout

I met the following panic message in mcheck_mca_logout().
MSR_IA32_MCi_ADDR might take the values other than the machine
address. FATAL PAGE FAULT occured when the non-existent address is
passed to maddr_get_owner().

Signed-off-by: Kazuhiro Suzuki <kaz@xxxxxxxxxxxxxx>
---
 xen/arch/x86/cpu/mcheck/mce.c |   10 ++++++----
 1 files changed, 6 insertions(+), 4 deletions(-)

diff -r 5eb189704690 -r 56595ee2720a xen/arch/x86/cpu/mcheck/mce.c
--- a/xen/arch/x86/cpu/mcheck/mce.c     Tue Sep 15 09:24:59 2009 +0100
+++ b/xen/arch/x86/cpu/mcheck/mce.c     Tue Sep 15 09:25:41 2009 +0100
@@ -237,10 +237,12 @@ mctelem_cookie_t mcheck_mca_logout(enum 
 
                if (status & MCi_STATUS_ADDRV) {
                        mca_rdmsrl(MSR_IA32_MC0_ADDR + 4 * i, addr);
-                       d = maddr_get_owner(addr);
-                       if (d != NULL && (who == MCA_POLLER ||
-                           who == MCA_CMCI_HANDLER))
-                               mcb.mc_domid = d->domain_id;
+                       if (mfn_valid(paddr_to_pfn(addr))) {
+                               d = maddr_get_owner(addr);
+                               if (d != NULL && (who == MCA_POLLER ||
+                                   who == MCA_CMCI_HANDLER))
+                                       mcb.mc_domid = d->domain_id;
+                       }
                }
 
                if (status & MCi_STATUS_MISCV)

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

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-changelog] [xen-unstable] x86 mce: Fix panic in mcheck_mca_logout, Xen patchbot-unstable <=