qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/2] linux-user: sigaction fixes/cleanups
@ 2021-04-22 18:08 Richard Henderson
  2021-04-22 18:08 ` [PATCH 1/2] linux-user/alpha: Fix rt sigframe return Richard Henderson
                   ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: Richard Henderson @ 2021-04-22 18:08 UTC (permalink / raw)
  To: qemu-devel; +Cc: alex.bennee, laurent

Alpha had two bugs, one with the non-ka_restorer fallback
using the wrong offset, and the other with the ka_restorer
value getting lost in do_sigaction.

Because do_sigaction didn't see TARGET_ARCH_HAS_SA_RESTORER
(which is correct for alpha, as the field isn't present in
the structure), we didn't copy the field into our syscall
table.  Which meant that the extra code present in do_syscall
to stash the ka_restorer value was wasted.

I believe that Sparc has a similar bug, but this one was
worse because it was modifying the user's sigaction struct
that was passed in.


r~


Richard Henderson (2):
  linux-user/alpha: Fix rt sigframe return
  linux-user: Clean up sigaction ka_restorer

 linux-user/syscall_defs.h | 17 +++-----
 linux-user/alpha/signal.c | 10 ++---
 linux-user/signal.c       |  4 +-
 linux-user/syscall.c      | 90 ++++++++++++---------------------------
 4 files changed, 42 insertions(+), 79 deletions(-)

-- 
2.25.1



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

end of thread, other threads:[~2021-04-22 20:28 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-04-22 18:08 [PATCH 0/2] linux-user: sigaction fixes/cleanups Richard Henderson
2021-04-22 18:08 ` [PATCH 1/2] linux-user/alpha: Fix rt sigframe return Richard Henderson
2021-04-22 18:23   ` Laurent Vivier
2021-04-22 19:26   ` Philippe Mathieu-Daudé
2021-04-22 18:08 ` [PATCH 2/2] linux-user: Clean up sigaction ka_restorer Richard Henderson
2021-04-22 20:27   ` Richard Henderson
2021-04-22 18:18 ` [PATCH 0/2] linux-user: sigaction fixes/cleanups no-reply

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).