linux-user: Translate flags argument to dup3 syscall
commit10fa993aae539fa8d0da1da17169e05f1dfb4f95
authorPeter Maydell <peter.maydell@linaro.org>
Fri, 15 Dec 2017 15:18:00 +0000 (15 15:18 +0000)
committerLaurent Vivier <laurent@vivier.eu>
Tue, 23 Jan 2018 13:20:52 +0000 (23 14:20 +0100)
tree7a02d9ede63aac44a06dd385a6237e25c96bf0cd
parentad762b990fa9da53e203b934583838d4dd371e20
linux-user: Translate flags argument to dup3 syscall

The third argument to dup3() is a flags word which may be
O_CLOEXEC. We weren't translating this flag from target to
host value, which meant that if the target used a different
value from the host (eg sparc guest and x86 host) the dup3()
call would fail EINVAL. Do the correct translation.

Fixes: https://bugs.launchpad.net/qemu/+bug/1704658
Reported-by: Bruno Haible <bruno@clisp.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Laurent Vivier <laurent@vivier.eu>
Message-Id: <1513351080-25917-1-git-send-email-peter.maydell@linaro.org>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>
linux-user/syscall.c