* [PATCH] mips: fix abort on integer overflow
@ 2023-09-24 11:16 Mikulas Patocka
2023-09-28 19:37 ` Richard Henderson
0 siblings, 1 reply; 4+ messages in thread
From: Mikulas Patocka @ 2023-09-24 11:16 UTC (permalink / raw)
To: Philippe Mathieu-Daudé, Jiaxun Yang, Aurelien Jarno,
Aleksandar Rikalo, Huacai Chen
Cc: qemu-devel
Qemu mips userspace emulation crashes with "qemu: unhandled CPU exception
0x15 - aborting" when one of the integer arithmetic instructions detects
an overflow.
This patch fixes it so that it delivers SIGFPE with FPE_INTOVF instead.
Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
Cc: qemu-stable@nongnu.org
---
linux-user/mips/cpu_loop.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
Index: qemu/linux-user/mips/cpu_loop.c
===================================================================
--- qemu.orig/linux-user/mips/cpu_loop.c
+++ qemu/linux-user/mips/cpu_loop.c
@@ -180,7 +180,9 @@ done_syscall:
}
force_sig_fault(TARGET_SIGFPE, si_code, env->active_tc.PC);
break;
-
+ case EXCP_OVERFLOW:
+ do_tr_or_bp(env, BRK_OVERFLOW, false);
+ break;
/* The code below was inspired by the MIPS Linux kernel trap
* handling code in arch/mips/kernel/traps.c.
*/
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] mips: fix abort on integer overflow
2023-09-24 11:16 [PATCH] mips: fix abort on integer overflow Mikulas Patocka
@ 2023-09-28 19:37 ` Richard Henderson
2023-09-28 19:55 ` [PATCH v2] " Mikulas Patocka
0 siblings, 1 reply; 4+ messages in thread
From: Richard Henderson @ 2023-09-28 19:37 UTC (permalink / raw)
To: Mikulas Patocka, Philippe Mathieu-Daudé, Jiaxun Yang,
Aurelien Jarno, Aleksandar Rikalo, Huacai Chen
Cc: qemu-devel
On 9/24/23 07:16, Mikulas Patocka wrote:
> Qemu mips userspace emulation crashes with "qemu: unhandled CPU exception
> 0x15 - aborting" when one of the integer arithmetic instructions detects
> an overflow.
>
> This patch fixes it so that it delivers SIGFPE with FPE_INTOVF instead.
>
> Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
> Cc: qemu-stable@nongnu.org
>
> ---
> linux-user/mips/cpu_loop.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> Index: qemu/linux-user/mips/cpu_loop.c
> ===================================================================
> --- qemu.orig/linux-user/mips/cpu_loop.c
> +++ qemu/linux-user/mips/cpu_loop.c
> @@ -180,7 +180,9 @@ done_syscall:
> }
> force_sig_fault(TARGET_SIGFPE, si_code, env->active_tc.PC);
> break;
> -
> + case EXCP_OVERFLOW:
> + do_tr_or_bp(env, BRK_OVERFLOW, false);
> + break;
Just call force_sig_fault directly.
r~
^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH v2] mips: fix abort on integer overflow
2023-09-28 19:37 ` Richard Henderson
@ 2023-09-28 19:55 ` Mikulas Patocka
2023-10-03 20:28 ` Richard Henderson
0 siblings, 1 reply; 4+ messages in thread
From: Mikulas Patocka @ 2023-09-28 19:55 UTC (permalink / raw)
To: Richard Henderson
Cc: Philippe Mathieu-Daudé, Jiaxun Yang, Aurelien Jarno,
Aleksandar Rikalo, Huacai Chen, qemu-devel
On Thu, 28 Sep 2023, Richard Henderson wrote:
> Just call force_sig_fault directly.
>
>
> r~
OK. Here I'm resending it.
Mikulas
From: Mikulas Patocka <mpatocka@redhat.com>
Qemu mips userspace emulation crashes with "qemu: unhandled CPU exception
0x15 - aborting" when one of the integer arithmetic instructions detects
an overflow.
This patch fixes it so that it delivers SIGFPE with FPE_INTOVF instead.
Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
Cc: qemu-stable@nongnu.org
---
linux-user/mips/cpu_loop.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
Index: qemu/linux-user/mips/cpu_loop.c
===================================================================
--- qemu.orig/linux-user/mips/cpu_loop.c
+++ qemu/linux-user/mips/cpu_loop.c
@@ -180,7 +180,9 @@ done_syscall:
}
force_sig_fault(TARGET_SIGFPE, si_code, env->active_tc.PC);
break;
-
+ case EXCP_OVERFLOW:
+ force_sig_fault(TARGET_SIGFPE, TARGET_FPE_INTOVF, env->active_tc.PC);
+ break;
/* The code below was inspired by the MIPS Linux kernel trap
* handling code in arch/mips/kernel/traps.c.
*/
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH v2] mips: fix abort on integer overflow
2023-09-28 19:55 ` [PATCH v2] " Mikulas Patocka
@ 2023-10-03 20:28 ` Richard Henderson
0 siblings, 0 replies; 4+ messages in thread
From: Richard Henderson @ 2023-10-03 20:28 UTC (permalink / raw)
To: Mikulas Patocka
Cc: Philippe Mathieu-Daudé, Jiaxun Yang, Aurelien Jarno,
Aleksandar Rikalo, Huacai Chen, qemu-devel
On 9/28/23 12:55, Mikulas Patocka wrote:
>
>
> On Thu, 28 Sep 2023, Richard Henderson wrote:
>
>> Just call force_sig_fault directly.
>>
>>
>> r~
>
> OK. Here I'm resending it.
>
> Mikulas
>
>
>
> From: Mikulas Patocka <mpatocka@redhat.com>
>
> Qemu mips userspace emulation crashes with "qemu: unhandled CPU exception
> 0x15 - aborting" when one of the integer arithmetic instructions detects
> an overflow.
>
> This patch fixes it so that it delivers SIGFPE with FPE_INTOVF instead.
>
> Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
> Cc: qemu-stable@nongnu.org
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
and queued to linux-user-next.
r~
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2023-10-03 20:29 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-09-24 11:16 [PATCH] mips: fix abort on integer overflow Mikulas Patocka
2023-09-28 19:37 ` Richard Henderson
2023-09-28 19:55 ` [PATCH v2] " Mikulas Patocka
2023-10-03 20:28 ` Richard Henderson
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).