[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-commits] [qemu/qemu] 7eddb5: linux-user: fix fork()
From: |
GitHub |
Subject: |
[Qemu-commits] [qemu/qemu] 7eddb5: linux-user: fix fork() |
Date: |
Tue, 28 Feb 2017 05:15:10 -0800 |
Branch: refs/heads/master
Home: https://github.com/qemu/qemu
Commit: 7eddb5ddacb783ba325277b8f420530c2ae8a2ce
https://github.com/qemu/qemu/commit/7eddb5ddacb783ba325277b8f420530c2ae8a2ce
Author: Laurent Vivier <address@hidden>
Date: 2017-02-27 (Mon, 27 Feb 2017)
Changed paths:
M linux-user/syscall.c
Log Message:
-----------
linux-user: fix fork()
Since commit 5ea2fc8 ("linux-user: Sanity check clone flags"),
trying to run fork() fails with old distro on some architectures.
This is the case with HP-PA and Debian 5 (Lenny).
It fails on:
if ((flags & CSIGNAL) != TARGET_SIGCHLD) {
return -TARGET_EINVAL;
}
because flags is 17, whereas on HP-PA, SIGCHLD is 18.
17 is the SIGCHLD value of my host (x86_64).
It appears that for TARGET_NR_fork and TARGET_NR_vfork, QEMU calls
do_fork() with SIGCHLD instead of TARGET_SIGCHLD.
Signed-off-by: Laurent Vivier <address@hidden>
Reviewed-by: Peter Maydell <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Message-Id: <address@hidden>
Commit: ee1ac3a1822b9386b2363c606908be44ca096401
https://github.com/qemu/qemu/commit/ee1ac3a1822b9386b2363c606908be44ca096401
Author: Helge Deller <address@hidden>
Date: 2017-02-27 (Mon, 27 Feb 2017)
Changed paths:
M linux-user/syscall.c
M linux-user/syscall_defs.h
Log Message:
-----------
linux-user: Add sockopts for IPv6 ping and IPv6 traceroute
Add the neccessary sockopts for ping and traceroute on IPv6.
This fixes the following qemu warnings with IPv6:
Unsupported ancillary data: 0/2
Unsupported ancillary data: 0/11
Unsupported ancillary data: 41/25
Unsupported setsockopt level=0 optname=12
Unsupported setsockopt level=41 optname=16
Unsupported setsockopt level=41 optname=25
Unsupported setsockopt level=41 optname=50
Unsupported setsockopt level=41 optname=51
Unsupported setsockopt level=41 optname=8
Unsupported setsockopt level=58 optname=1
Tested with hppa-linux-user (big-endian) on x86_64 (little-endian).
Signed-off-by: Helge Deller <address@hidden>
Reviewed-by: Laurent Vivier <address@hidden>
Tested-by: Philippe Mathieu-Daudé <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Laurent Vivier <address@hidden>
Commit: 1c1df0198b30e180bd63891727fa1c3e0c96eb8e
https://github.com/qemu/qemu/commit/1c1df0198b30e180bd63891727fa1c3e0c96eb8e
Author: Pranith Kumar <address@hidden>
Date: 2017-02-27 (Mon, 27 Feb 2017)
Changed paths:
M linux-user/signal.c
M target/i386/cpu.h
M target/i386/fpu_helper.c
Log Message:
-----------
linux-user: Add signal handling support for x86_64
Note that x86_64 has only _rt signal handlers. This implementation
attempts to share code with the x86_32 implementation.
CC: Laurent Vivier <address@hidden>
Signed-off-by: Allan Wirth <address@hidden>
Reviewed-by: Peter Maydell <address@hidden>
Signed-off-by: Pranith Kumar <address@hidden>
Reviewed-by: Laurent Vivier <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Laurent Vivier <address@hidden>
Commit: 3219de458c497e15fd3b0c3ba3c1952fc34fe3da
https://github.com/qemu/qemu/commit/3219de458c497e15fd3b0c3ba3c1952fc34fe3da
Author: Laurent Vivier <address@hidden>
Date: 2017-02-27 (Mon, 27 Feb 2017)
Changed paths:
M linux-user/signal.c
Log Message:
-----------
linux-user: correctly manage SR in ucontext
Use cpu_m68k_get_ccr()/cpu_m68k_set_ccr() to setup and restore correctly
the value of SR in the ucontext structure
Signed-off-by: Laurent Vivier <address@hidden>
Message-Id: <address@hidden>
Commit: 59ebb6e451ffe5d4ccb5a62ee6646ed418361ef0
https://github.com/qemu/qemu/commit/59ebb6e451ffe5d4ccb5a62ee6646ed418361ef0
Author: Michael Karcher <address@hidden>
Date: 2017-02-27 (Mon, 27 Feb 2017)
Changed paths:
M linux-user/signal.c
Log Message:
-----------
linux-user: fix do_rt_sigreturn on m68k linux userspace emulation
do_rt_sigreturn uses an uninitialised local variable instead of fetching
the old signal mask directly from the signal frame when restoring the mask,
so the signal mask is undefined after do_rt_sigreturn. As the signal
frame data is in target-endian order, target_to_host_sigset instead of
target_to_host_sigset_internal is required.
do_sigreturn is correct in using target_to_host_sigset_internal, because
get_user already did the endianness conversion.
Signed-off-by: Michael Karcher <address@hidden>
Signed-off-by: Laurent Vivier <address@hidden>
Message-Id: <address@hidden>
Commit: 98a3331a552f6e033da10bd07b14ccdd81d05e61
https://github.com/qemu/qemu/commit/98a3331a552f6e033da10bd07b14ccdd81d05e61
Author: Franklin \"Snaipe\" Mathieu <address@hidden>
Date: 2017-02-27 (Mon, 27 Feb 2017)
Changed paths:
M linux-user/syscall.c
Log Message:
-----------
syscall: fixed mincore(2) not failing with ENOMEM
The current implementation of the mincore(2) syscall sets errno to
EFAULT when the region identified by the first two parameters is
invalid.
This goes against the man page specification, where mincore(2) should
only fail with EFAULT when the third parameter is an invalid address;
and fail with ENOMEM when the checked region does not point to mapped
memory.
Signed-off-by: Franklin "Snaipe" Mathieu <address@hidden>
Cc: Riku Voipio <address@hidden>
Cc: Aurelien Jarno <address@hidden>
Reviewed-by: Laurent Vivier <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Laurent Vivier <address@hidden>
Commit: 105d86ff38e81cde5ce56ee334186c2de6389dc0
https://github.com/qemu/qemu/commit/105d86ff38e81cde5ce56ee334186c2de6389dc0
Author: Peter Maydell <address@hidden>
Date: 2017-02-28 (Tue, 28 Feb 2017)
Changed paths:
M linux-user/signal.c
M linux-user/syscall.c
M linux-user/syscall_defs.h
M target/i386/cpu.h
M target/i386/fpu_helper.c
Log Message:
-----------
Merge remote-tracking branch
'remotes/vivier2/tags/linux-user-for-upstream-pull-request' into staging
# gpg: Signature made Mon 27 Feb 2017 22:15:47 GMT
# gpg: using RSA key 0xF30C38BD3F2FBE3C
# gpg: Good signature from "Laurent Vivier <address@hidden>"
# gpg: aka "Laurent Vivier <address@hidden>"
# gpg: aka "Laurent Vivier (Red Hat) <address@hidden>"
# Primary key fingerprint: CD2F 75DD C8E3 A4DC 2E4F 5173 F30C 38BD 3F2F BE3C
* remotes/vivier2/tags/linux-user-for-upstream-pull-request:
syscall: fixed mincore(2) not failing with ENOMEM
linux-user: fix do_rt_sigreturn on m68k linux userspace emulation
linux-user: correctly manage SR in ucontext
linux-user: Add signal handling support for x86_64
linux-user: Add sockopts for IPv6 ping and IPv6 traceroute
linux-user: fix fork()
Signed-off-by: Peter Maydell <address@hidden>
Compare: https://github.com/qemu/qemu/compare/6181478f6395...105d86ff38e8
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Qemu-commits] [qemu/qemu] 7eddb5: linux-user: fix fork(),
GitHub <=