[PATCH] linux-user: fix bug about missing signum convert of sigqueue

fanwj@mail.ustc.edu.cn posted 1 patch 3 years, 5 months ago
Failed in applying to current master (apply log)
linux-user/syscall.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
[PATCH] linux-user: fix bug about missing signum convert of sigqueue
Posted by fanwj@mail.ustc.edu.cn 3 years, 5 months ago
From 4ebe8a67ed7c4b1220957b2b67a62ba60e0e80ec Mon Sep 17 00:00:00 2001
From: fanwenjie <fanwj@mail.ustc.edu.cn>
Date: Wed, 31 Aug 2022 11:55:25 +0800
Subject: [PATCH] linux-user: fix bug about missing signum convert of sigqueue


Signed-off-by: fanwenjie <fanwj@mail.ustc.edu.cn>
---
 linux-user/syscall.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)


diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index f409121202..3e5ab4f0b2 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -9690,7 +9690,7 @@ static abi_long do_syscall1(CPUArchState *cpu_env, int num, abi_long arg1,
             }
             target_to_host_siginfo(&uinfo, p);
             unlock_user(p, arg3, 0);
-            ret = get_errno(sys_rt_sigqueueinfo(arg1, arg2, &uinfo));
+            ret = get_errno(sys_rt_sigqueueinfo(arg1, target_to_host_signal(arg2), &uinfo));
         }
         return ret;
     case TARGET_NR_rt_tgsigqueueinfo:
@@ -9703,7 +9703,7 @@ static abi_long do_syscall1(CPUArchState *cpu_env, int num, abi_long arg1,
             }
             target_to_host_siginfo(&uinfo, p);
             unlock_user(p, arg4, 0);
-            ret = get_errno(sys_rt_tgsigqueueinfo(arg1, arg2, arg3, &uinfo));
+            ret = get_errno(sys_rt_tgsigqueueinfo(arg1, arg2, target_to_host_signal(arg3), &uinfo));
         }
         return ret;
 #ifdef TARGET_NR_sigreturn
-- 

Re: [PATCH] linux-user: fix bug about missing signum convert of sigqueue
Posted by Philippe Mathieu-Daudé via 3 years, 5 months ago
On 31/8/22 06:10, fanwj@mail.ustc.edu.cn wrote:
>  From 4ebe8a67ed7c4b1220957b2b67a62ba60e0e80ec Mon Sep 17 00:00:00 2001
> From: fanwenjie <fanwj@mail.ustc.edu.cn>
> Date: Wed, 31 Aug 2022 11:55:25 +0800
> Subject: [PATCH] linux-user: fix bug about missing signum convert of 
> sigqueue
> 
> Signed-off-by: fanwenjie <fanwj@mail.ustc.edu.cn>
> ---
>   linux-user/syscall.c | 4 ++--
>   1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/linux-user/syscall.c b/linux-user/syscall.c
> index f409121202..3e5ab4f0b2 100644
> --- a/linux-user/syscall.c
> +++ b/linux-user/syscall.c
> @@ -9690,7 +9690,7 @@ static abi_long do_syscall1(CPUArchState *cpu_env, 
> int num, abi_long arg1,
>               }
>               target_to_host_siginfo(&uinfo, p);
>               unlock_user(p, arg3, 0);
> -            ret = get_errno(sys_rt_sigqueueinfo(arg1, arg2, &uinfo));
> +            ret = get_errno(sys_rt_sigqueueinfo(arg1, 
> target_to_host_signal(arg2), &uinfo));

Fixes: 66fb9763af ("basic signal handling")

Date:   Sun Mar 23 01:06:05 2003 +0000

!@#% ALMOST 20 YEARS %#!@#$

Cc'ing Alex for an entry in the oldest bug fixed table.

>       case TARGET_NR_rt_tgsigqueueinfo:
> @@ -9703,7 +9703,7 @@ static abi_long do_syscall1(CPUArchState *cpu_env, 
> int num, abi_long arg1,
>               }
>               target_to_host_siginfo(&uinfo, p);
>               unlock_user(p, arg4, 0);
> -            ret = get_errno(sys_rt_tgsigqueueinfo(arg1, arg2, arg3, 
> &uinfo));
> +            ret = get_errno(sys_rt_tgsigqueueinfo(arg1, arg2, 
> target_to_host_signal(arg3), &uinfo));

Fixes: cf8b8bfc50 ("linux-user: add support for rt_tgsigqueueinfo() 
system call")

>           }
>           return ret;
>   #ifdef TARGET_NR_sigreturn
> -- 
> 

Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>

Re: [PATCH] linux-user: fix bug about missing signum convert of sigqueue
Posted by Richard Henderson 3 years, 5 months ago
On 8/31/22 05:10, fanwj@mail.ustc.edu.cn wrote:
>  From 4ebe8a67ed7c4b1220957b2b67a62ba60e0e80ec Mon Sep 17 00:00:00 2001
> From: fanwenjie <fanwj@mail.ustc.edu.cn>
> Date: Wed, 31 Aug 2022 11:55:25 +0800
> Subject: [PATCH] linux-user: fix bug about missing signum convert of sigqueue
> 
> Signed-off-by: fanwenjie <fanwj@mail.ustc.edu.cn>

Queued to linux-user-next.


r~
Re: [PATCH] linux-user: fix bug about missing signum convert of sigqueue
Posted by Laurent Vivier 3 years, 4 months ago
Le 05/09/2022 à 19:54, Richard Henderson a écrit :
> On 8/31/22 05:10, fanwj@mail.ustc.edu.cn wrote:
>>  From 4ebe8a67ed7c4b1220957b2b67a62ba60e0e80ec Mon Sep 17 00:00:00 2001
>> From: fanwenjie <fanwj@mail.ustc.edu.cn>
>> Date: Wed, 31 Aug 2022 11:55:25 +0800
>> Subject: [PATCH] linux-user: fix bug about missing signum convert of sigqueue
>>
>> Signed-off-by: fanwenjie <fanwj@mail.ustc.edu.cn>
> 
> Queued to linux-user-next.

I'm preparing a PR, do you want I take it?

Thanks,
Laurent


Re: [PATCH] linux-user: fix bug about missing signum convert of sigqueue
Posted by Richard Henderson 3 years, 4 months ago
On 9/27/22 00:36, Laurent Vivier wrote:
> Le 05/09/2022 à 19:54, Richard Henderson a écrit :
>> On 8/31/22 05:10, fanwj@mail.ustc.edu.cn wrote:
>>>  From 4ebe8a67ed7c4b1220957b2b67a62ba60e0e80ec Mon Sep 17 00:00:00 2001
>>> From: fanwenjie <fanwj@mail.ustc.edu.cn>
>>> Date: Wed, 31 Aug 2022 11:55:25 +0800
>>> Subject: [PATCH] linux-user: fix bug about missing signum convert of sigqueue
>>>
>>> Signed-off-by: fanwenjie <fanwj@mail.ustc.edu.cn>
>>
>> Queued to linux-user-next.
> 
> I'm preparing a PR, do you want I take it?

Yes please, though I may have been too slow for this one.


r~