diff mbox series

[1/2] linux-user/alpha: Fix rt sigframe return

Message ID 20210422180819.252121-2-richard.henderson@linaro.org
State Superseded
Headers show
Series linux-user: sigaction fixes/cleanups | expand

Commit Message

Richard Henderson April 22, 2021, 6:08 p.m. UTC
We incorrectly used the offset of the non-rt sigframe.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>

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

-- 
2.25.1

Comments

Laurent Vivier April 22, 2021, 6:23 p.m. UTC | #1
Le 22/04/2021 à 20:08, Richard Henderson a écrit :
> We incorrectly used the offset of the non-rt sigframe.

> 

> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>

> ---

>  linux-user/alpha/signal.c | 2 +-

>  1 file changed, 1 insertion(+), 1 deletion(-)

> 

> diff --git a/linux-user/alpha/signal.c b/linux-user/alpha/signal.c

> index c5c27ce084..86f5d2276d 100644

> --- a/linux-user/alpha/signal.c

> +++ b/linux-user/alpha/signal.c

> @@ -200,7 +200,7 @@ void setup_rt_frame(int sig, struct target_sigaction *ka,

>                     &frame->retcode[1]);

>          __put_user(INSN_CALLSYS, &frame->retcode[2]);

>          /* imb(); */

> -        r26 = frame_addr + offsetof(struct target_sigframe, retcode);

> +        r26 = frame_addr + offsetof(struct target_rt_sigframe, retcode);

>      }

>  

>      if (err) {

> 


Reviewed-by: Laurent Vivier <laurent@vivier.eu>
Philippe Mathieu-Daudé April 22, 2021, 7:26 p.m. UTC | #2
On 4/22/21 8:08 PM, Richard Henderson wrote:
> We incorrectly used the offset of the non-rt sigframe.

> 

> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>

> ---

>  linux-user/alpha/signal.c | 2 +-

>  1 file changed, 1 insertion(+), 1 deletion(-)


Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
diff mbox series

Patch

diff --git a/linux-user/alpha/signal.c b/linux-user/alpha/signal.c
index c5c27ce084..86f5d2276d 100644
--- a/linux-user/alpha/signal.c
+++ b/linux-user/alpha/signal.c
@@ -200,7 +200,7 @@  void setup_rt_frame(int sig, struct target_sigaction *ka,
                    &frame->retcode[1]);
         __put_user(INSN_CALLSYS, &frame->retcode[2]);
         /* imb(); */
-        r26 = frame_addr + offsetof(struct target_sigframe, retcode);
+        r26 = frame_addr + offsetof(struct target_rt_sigframe, retcode);
     }
 
     if (err) {