[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [6151] Fix qemu endless loop when raising a SIGSEGV/ SIGBUS
From: |
Aurelien Jarno |
Subject: |
[Qemu-devel] [6151] Fix qemu endless loop when raising a SIGSEGV/ SIGBUS signal with gdbstub in user emulation |
Date: |
Sat, 03 Jan 2009 13:14:52 +0000 |
Revision: 6151
http://svn.sv.gnu.org/viewvc/?view=rev&root=qemu&revision=6151
Author: aurel32
Date: 2009-01-03 13:14:52 +0000 (Sat, 03 Jan 2009)
Log Message:
-----------
Fix qemu endless loop when raising a SIGSEGV/SIGBUS signal with gdbstub in user
emulation
When a SIGSEGV signal is raised in user mode emulation the current
test to know whether the signal is sent by the kernel is wrong :
info->si_code == SI_KERNEL
according to /usr/include/bits/siginfo.h it should be
info->si_code > 0
Signed-off-by: Lionel Landwerlin <address@hidden>
Signed-off-by: Aurelien Jarno <address@hidden>
Modified Paths:
--------------
trunk/linux-user/signal.c
Modified: trunk/linux-user/signal.c
===================================================================
--- trunk/linux-user/signal.c 2009-01-03 12:36:05 UTC (rev 6150)
+++ trunk/linux-user/signal.c 2009-01-03 13:14:52 UTC (rev 6151)
@@ -441,9 +441,9 @@
target_siginfo_t tinfo;
/* the CPU emulator uses some host signals to detect exceptions,
- we we forward to it some signals */
+ we forward to it some signals */
if ((host_signum == SIGSEGV || host_signum == SIGBUS)
- && info->si_code == SI_KERNEL) {
+ && info->si_code > 0) {
if (cpu_signal_handler(host_signum, info, puc))
return;
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Qemu-devel] [6151] Fix qemu endless loop when raising a SIGSEGV/ SIGBUS signal with gdbstub in user emulation,
Aurelien Jarno <=