[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 03/13] linux-user/signal: Decode waitid si_code
From: |
Laurent Vivier |
Subject: |
[PULL 03/13] linux-user/signal: Decode waitid si_code |
Date: |
Mon, 15 Feb 2021 13:45:09 +0100 |
From: Alistair Francis <alistair.francis@wdc.com>
When mapping the host waitid status to the target status we previously
just used decoding information in the status value. This doesn't follow
what the waitid documentation describes, which instead suggests using
the si_code value for the decoding. This results in the incorrect values
seen when calling waitid. This is especially apparent on RV32 where all
wait calls use waitid (see the bug case).
This patch just passes the waitid status directly back to the guest.
Buglink: https://bugs.launchpad.net/qemu/+bug/1906193
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
Tested-by: Andreas K. Hüttel <dilfridge@gentoo.org>
Reviewed-by: Laurent Vivier <laurent@vivier.eu>
Message-Id:
<1fb2d56aa23a81f4473e638abe9e2d78c09a3d5b.1611080607.git.alistair.francis@wdc.com>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>
---
linux-user/signal.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/linux-user/signal.c b/linux-user/signal.c
index 73de934c6511..7eecec46c407 100644
--- a/linux-user/signal.c
+++ b/linux-user/signal.c
@@ -349,8 +349,7 @@ static inline void
host_to_target_siginfo_noswap(target_siginfo_t *tinfo,
case TARGET_SIGCHLD:
tinfo->_sifields._sigchld._pid = info->si_pid;
tinfo->_sifields._sigchld._uid = info->si_uid;
- tinfo->_sifields._sigchld._status
- = host_to_target_waitstatus(info->si_status);
+ tinfo->_sifields._sigchld._status = info->si_status;
tinfo->_sifields._sigchld._utime = info->si_utime;
tinfo->_sifields._sigchld._stime = info->si_stime;
si_type = QEMU_SI_CHLD;
--
2.29.2
- [PULL 09/13] linux-user/syscall: Fix do_ioctl_ifconf() for 64 bit targets., (continued)
- [PULL 09/13] linux-user/syscall: Fix do_ioctl_ifconf() for 64 bit targets., Laurent Vivier, 2021/02/15
- [PULL 07/13] linux-user: Fix loading of BSS segments, Laurent Vivier, 2021/02/15
- [PULL 04/13] linux-user: Add missing TARGET___O_TMPFILE for hppa and alpha, Laurent Vivier, 2021/02/15
- [PULL 12/13] docs/user: Remove outdated 'Quick Start' section, Laurent Vivier, 2021/02/15
- [PULL 13/13] linux-user/mips: Support the n32 ABI for the R5900, Laurent Vivier, 2021/02/15
- [PULL 10/13] linux-user: add TARGET_SO_{DOMAIN,PROTOCOL}, Laurent Vivier, 2021/02/15
- [PULL 08/13] linux-user/mmap: Avoid asserts for out of range mremap calls, Laurent Vivier, 2021/02/15
- [PULL 02/13] linux-user/mips64: Support o32 ABI syscalls, Laurent Vivier, 2021/02/15
- [PULL 01/13] linux-user/mips64: Restore setup_frame() for o32 ABI, Laurent Vivier, 2021/02/15
- [PULL 11/13] linux-user: target: signal: Support TARGET_SS_AUTODISARM, Laurent Vivier, 2021/02/15
- [PULL 03/13] linux-user/signal: Decode waitid si_code,
Laurent Vivier <=
- Re: [PULL 00/13] Linux user for 6.0 patches, Philippe Mathieu-Daudé, 2021/02/15