Hi all, It seems my patch was ignore. Ping! https://patchew.org/QEMU/20200116115700.127951-1-mky...@tachyum.com/
-----Original Message----- From: Matus Kysel <mky...@tachyum.com> Sent: štvrtok 16. januára 2020 12:57 Cc: Matus Kysel <mky...@tachyum.com>; Riku Voipio <riku.voi...@iki.fi>; Laurent Vivier <laur...@vivier.eu>; open list:All patches CC here <qemu-devel@nongnu.org> Subject: [PATCH] Handling SIGSETXID used by glibc NPTL setuid/setgid 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 <mky...@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