[PATCH] linux-user: Map signal numbers in fcntl

Timothy Baldwin posted 1 patch 3 years, 9 months ago
Failed in applying to current master (apply log)
linux-user/syscall.c | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
[PATCH] linux-user: Map signal numbers in fcntl
Posted by Timothy Baldwin 3 years, 9 months ago
Map signal numbers in fcntl F_SETSIG and F_GETSIG.

Signed-off-by: Timothy E Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
---
  linux-user/syscall.c | 10 ++++++++--
  1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index 945fc25279..8456bad109 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -6583,10 +6583,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:
-- 
2.25.1



Re: [PATCH] linux-user: Map signal numbers in fcntl
Posted by Laurent Vivier 3 years, 7 months ago
Le 29/07/2020 à 22:06, Timothy Baldwin a écrit :
> Map signal numbers in fcntl F_SETSIG and F_GETSIG.
> 
> Signed-off-by: Timothy E Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
> ---
>  linux-user/syscall.c | 10 ++++++++--
>  1 file changed, 8 insertions(+), 2 deletions(-)
> 
> diff --git a/linux-user/syscall.c b/linux-user/syscall.c
> index 945fc25279..8456bad109 100644
> --- a/linux-user/syscall.c
> +++ b/linux-user/syscall.c
> @@ -6583,10 +6583,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:

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

Re: [PATCH] linux-user: Map signal numbers in fcntl
Posted by Laurent Vivier 3 years, 7 months ago
Le 29/07/2020 à 22:06, Timothy Baldwin a écrit :
> Map signal numbers in fcntl F_SETSIG and F_GETSIG.
> 
> Signed-off-by: Timothy E Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
> ---
>  linux-user/syscall.c | 10 ++++++++--
>  1 file changed, 8 insertions(+), 2 deletions(-)
> 
> diff --git a/linux-user/syscall.c b/linux-user/syscall.c
> index 945fc25279..8456bad109 100644
> --- a/linux-user/syscall.c
> +++ b/linux-user/syscall.c
> @@ -6583,10 +6583,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:

Applied to my linux-user-for-5.2 branch.

Thanks,
Laurent