]> Git Repo - qemu.git/commitdiff
linux-user/syscall.c: add target-to-host mapping for epoll_create1()
authorSergei Trofimovich <[email protected]>
Wed, 15 Apr 2020 22:05:08 +0000 (23:05 +0100)
committerLaurent Vivier <[email protected]>
Thu, 16 Apr 2020 07:24:22 +0000 (09:24 +0200)
Noticed by Barnabás Virágh as a python-3.7 failue on qemu-alpha.

The bug shows up on alpha as it's one of the targets where
EPOLL_CLOEXEC differs from other targets:
    sysdeps/unix/sysv/linux/alpha/bits/epoll.h: EPOLL_CLOEXEC  = 01000000
    sysdeps/unix/sysv/linux/bits/epoll.h:        EPOLL_CLOEXEC = 02000000

Bug: https://bugs.gentoo.org/717548
Reported-by: Barnabás Virágh
Signed-off-by: Sergei Trofimovich <[email protected]>
CC: Riku Voipio <[email protected]>
CC: Laurent Vivier <[email protected]>
Reviewed-by: Laurent Vivier <[email protected]>
Message-Id: <20200415220508[email protected]>
Signed-off-by: Laurent Vivier <[email protected]>
linux-user/syscall.c

index 674f70e70a564fb54750d727125863684cfd4185..05f03919ff070a06444d82e86a70962e753d1b25 100644 (file)
@@ -12012,7 +12012,7 @@ static abi_long do_syscall1(void *cpu_env, int num, abi_long arg1,
 #endif
 #if defined(TARGET_NR_epoll_create1) && defined(CONFIG_EPOLL_CREATE1)
     case TARGET_NR_epoll_create1:
-        return get_errno(epoll_create1(arg1));
+        return get_errno(epoll_create1(target_to_host_bitmask(arg1, fcntl_flags_tbl)));
 #endif
 #if defined(TARGET_NR_epoll_ctl)
     case TARGET_NR_epoll_ctl:
This page took 0.042973 seconds and 4 git commands to generate.