All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH] linux-user/signal.c: Set fault address in AArch64 signal info
@ 2014-05-01 17:36 Peter Maydell
  2014-05-02 10:06 ` Riku Voipio
  0 siblings, 1 reply; 2+ messages in thread
From: Peter Maydell @ 2014-05-01 17:36 UTC (permalink / raw)
  To: qemu-devel; +Cc: Riku Voipio, patches

Set the fault address correctly in the signal information passed
to a signal handler for AArch64 guests.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
---
This would be a candidate for stable except that it depends on
the a64 system rework which added exception.vaddress. Hopefully
not many guests care about the fault address information...

Riku: I'm assuming you'll put this in your tree; I can put it in
target-arm if you prefer, but I know you have those other pending
signal.c changes...

 linux-user/signal.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/linux-user/signal.c b/linux-user/signal.c
index 7d6246f..5b8a01f 100644
--- a/linux-user/signal.c
+++ b/linux-user/signal.c
@@ -1242,8 +1242,7 @@ static int target_setup_sigframe(struct target_rt_sigframe *sf,
     __put_user(env->pc, &sf->uc.tuc_mcontext.pc);
     __put_user(pstate_read(env), &sf->uc.tuc_mcontext.pstate);
 
-    __put_user(/*current->thread.fault_address*/ 0,
-            &sf->uc.tuc_mcontext.fault_address);
+    __put_user(env->exception.vaddress, &sf->uc.tuc_mcontext.fault_address);
 
     for (i = 0; i < TARGET_NSIG_WORDS; i++) {
         __put_user(set->sig[i], &sf->uc.tuc_sigmask.sig[i]);
-- 
1.9.2

^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [Qemu-devel] [PATCH] linux-user/signal.c: Set fault address in AArch64 signal info
  2014-05-01 17:36 [Qemu-devel] [PATCH] linux-user/signal.c: Set fault address in AArch64 signal info Peter Maydell
@ 2014-05-02 10:06 ` Riku Voipio
  0 siblings, 0 replies; 2+ messages in thread
From: Riku Voipio @ 2014-05-02 10:06 UTC (permalink / raw)
  To: Peter Maydell; +Cc: qemu-devel, patches

[-- Attachment #1: Type: text/plain, Size: 1542 bytes --]

On Thu, May 1, 2014 at 8:36 PM, Peter Maydell <peter.maydell@linaro.org>wrote:

> Set the fault address correctly in the signal information passed
> to a signal handler for AArch64 guests.
>
> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
> ---
> This would be a candidate for stable except that it depends on
> the a64 system rework which added exception.vaddress. Hopefully
> not many guests care about the fault address information...
>
> Riku: I'm assuming you'll put this in your tree; I can put it in
> target-arm if you prefer, but I know you have those other pending
> signal.c changes...
>

I've put in the linux-user que now, the signal.c changes didn't get any
review yet,
and I want to at least submit them with better descriptions.

Riku


>
>  linux-user/signal.c | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/linux-user/signal.c b/linux-user/signal.c
> index 7d6246f..5b8a01f 100644
> --- a/linux-user/signal.c
> +++ b/linux-user/signal.c
> @@ -1242,8 +1242,7 @@ static int target_setup_sigframe(struct
> target_rt_sigframe *sf,
>      __put_user(env->pc, &sf->uc.tuc_mcontext.pc);
>      __put_user(pstate_read(env), &sf->uc.tuc_mcontext.pstate);
>
> -    __put_user(/*current->thread.fault_address*/ 0,
> -            &sf->uc.tuc_mcontext.fault_address);
> +    __put_user(env->exception.vaddress,
> &sf->uc.tuc_mcontext.fault_address);
>
>      for (i = 0; i < TARGET_NSIG_WORDS; i++) {
>          __put_user(set->sig[i], &sf->uc.tuc_sigmask.sig[i]);
> --
> 1.9.2
>
> --
> Riku Voipio

[-- Attachment #2: Type: text/html, Size: 2347 bytes --]

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2014-05-02 10:07 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-05-01 17:36 [Qemu-devel] [PATCH] linux-user/signal.c: Set fault address in AArch64 signal info Peter Maydell
2014-05-02 10:06 ` Riku Voipio

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.