diff mbox series

[PULL,3/5] linux-user: Map signal numbers in fcntl

Message ID 20200907091748.376101-4-laurent@vivier.eu
State Accepted
Commit a7b4c9b1b411a8d54882e75c046b026a7a9754f9
Headers show
Series Linux user for 5.2 patches | expand

Commit Message

Laurent Vivier Sept. 7, 2020, 9:17 a.m. UTC
From: Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>


Map signal numbers in fcntl F_SETSIG and F_GETSIG.

Signed-off-by: Timothy E Baldwin <T.E.Baldwin99@members.leeds.ac.uk>

Reviewed-by: Laurent Vivier <laurent@vivier.eu>

Message-Id: <72cc725c-f344-b7f1-d559-401867067d80@members.leeds.ac.uk>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>

---
 linux-user/syscall.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

-- 
2.26.2
diff mbox series

Patch

diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index 07220eee40c5..55ac5c320825 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -6874,10 +6874,16 @@  static abi_long do_fcntl(int fd, int cmd, abi_ulong arg)
         break;
 #endif
 
-    case TARGET_F_SETOWN:
-    case TARGET_F_GETOWN:
     case TARGET_F_SETSIG:
+        ret = get_errno(safe_fcntl(fd, host_cmd, target_to_host_signal(arg)));
+        break;
+
     case TARGET_F_GETSIG:
+        ret = host_to_target_signal(get_errno(safe_fcntl(fd, host_cmd, arg)));
+        break;
+
+    case TARGET_F_SETOWN:
+    case TARGET_F_GETOWN:
     case TARGET_F_SETLEASE:
     case TARGET_F_GETLEASE:
     case TARGET_F_SETPIPE_SZ: