qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH 0/2] linux-user: sigaction fixes/cleanups


From: Richard Henderson
Subject: [PATCH 0/2] linux-user: sigaction fixes/cleanups
Date: Thu, 22 Apr 2021 11:08:17 -0700

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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]