On 31/8/22 06:10, fa...@mail.ustc.edu.cn wrote:
 From 4ebe8a67ed7c4b1220957b2b67a62ba60e0e80ec Mon Sep 17 00:00:00 2001
From: fanwenjie <fa...@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 <fa...@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é <f4...@amsat.org>

Reply via email to