qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] Handling SIGSETXID used by glibc NPTL setuid/setgid
@ 2020-01-16 11:57 Matus Kysel
  2020-01-28  9:22 ` Matus Kysel
  2020-01-28  9:26 ` Peter Maydell
  0 siblings, 2 replies; 8+ messages in thread
From: Matus Kysel @ 2020-01-16 11:57 UTC (permalink / raw)
  Cc: open list:All patches CC here, Riku Voipio, Laurent Vivier,
	Matus Kysel

Used same style to handle another glibc reserved signal SIGSETXID (33), 
that is used by glibc NPTL setuid/setgid functions. This should fix problems
with application using those functions and failing with error
"qemu:handle_cpu_signal received signal outside vCPU context".

Signed-off-by: Matus Kysel <mkysel@tachyum.com>
---
 linux-user/signal.c | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

diff --git a/linux-user/signal.c b/linux-user/signal.c
index 0128bde4d2..c59221fd0a 100644
--- a/linux-user/signal.c
+++ b/linux-user/signal.c
@@ -66,11 +66,16 @@ static uint8_t host_to_target_signal_table[_NSIG] = {
     [SIGPWR] = TARGET_SIGPWR,
     [SIGSYS] = TARGET_SIGSYS,
     /* next signals stay the same */
-    /* Nasty hack: Reverse SIGRTMIN and SIGRTMAX to avoid overlap with
-       host libpthread signals.  This assumes no one actually uses SIGRTMAX :-/
-       To fix this properly we need to do manual signal delivery multiplexed
-       over a single host signal.  */
+    /*
+     * Nasty hack: Swap SIGRTMIN and SIGRTMIN + 1 with SIGRTMAX and SIGRTMAX - 1
+     * to avoid overlap with host libpthread (NPTL glibc) signals.
+     * This assumes no one actually uses SIGRTMAX and SIGRTMAX - 1 :-/
+     * To fix this properly we need to do manual signal delivery multiplexed
+     * over a single host signal.
+     */
     [__SIGRTMIN] = __SIGRTMAX,
+    [__SIGRTMIN + 1] = __SIGRTMAX - 1,
+    [__SIGRTMAX - 1] = __SIGRTMIN + 1,
     [__SIGRTMAX] = __SIGRTMIN,
 };
 static uint8_t target_to_host_signal_table[_NSIG];
-- 
2.17.1



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

end of thread, other threads:[~2020-01-30 10:26 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-01-16 11:57 [PATCH] Handling SIGSETXID used by glibc NPTL setuid/setgid Matus Kysel
2020-01-28  9:22 ` Matus Kysel
2020-01-28  9:26 ` Peter Maydell
2020-01-28 12:32   ` Taylor Simpson
2020-01-28 12:45     ` Peter Maydell
2020-01-28 14:41       ` Laurent Vivier
2020-01-29 16:12   ` Laurent Vivier
2020-01-30 10:25     ` Laurent Vivier

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