[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-changelog] [qemu-upstream-unstable] exec: fix breakpoint_invalidate when pc may not be translated



commit 2c8187434f90fceb20ee1f0031fb591e5382674d
Author:     Max Filippov <jcmvbkbc@xxxxxxxxx>
AuthorDate: Fri Sep 27 22:29:17 2013 +0400
Commit:     Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
CommitDate: Tue Dec 3 19:59:05 2013 -0600

    exec: fix breakpoint_invalidate when pc may not be translated
    
    This fixes qemu abort with the following message:
    
        include/qemu/int128.h:22: int128_get64: Assertion `!a.hi' failed.
    
    which happens due to attempt to invalidate breakpoint by virtual address
    for which get_phys_page_debug couldn't find mapping.
    
    For more details see
    http://lists.nongnu.org/archive/html/qemu-devel/2013-09/msg04582.html
    
    Cc: qemu-stable@xxxxxxxxxx
    Signed-off-by: Max Filippov <jcmvbkbc@xxxxxxxxx>
    Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
    (cherry picked from commit e8262a1b5b7cfbcbc80c46e4ce6ff7c517b7b2f6)
    
    Signed-off-by: Michael Roth <mdroth@xxxxxxxxxxxxxxxxxx>
---
 exec.c |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/exec.c b/exec.c
index f6674e5..667a718 100644
--- a/exec.c
+++ b/exec.c
@@ -425,8 +425,10 @@ static void breakpoint_invalidate(CPUState *cpu, 
target_ulong pc)
 #else
 static void breakpoint_invalidate(CPUState *cpu, target_ulong pc)
 {
-    tb_invalidate_phys_addr(cpu_get_phys_page_debug(cpu, pc) |
-            (pc & ~TARGET_PAGE_MASK));
+    hwaddr phys = cpu_get_phys_page_debug(cpu, pc);
+    if (phys != -1) {
+        tb_invalidate_phys_addr(phys | (pc & ~TARGET_PAGE_MASK));
+    }
 }
 #endif
 #endif /* TARGET_HAS_ICE */
--
generated by git-patchbot for /home/xen/git/qemu-upstream-unstable.git

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


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.