qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] target/hppa: lock both words of function descriptor


From: Richard Henderson
Subject: Re: [PATCH] target/hppa: lock both words of function descriptor
Date: Sat, 16 Sep 2023 10:17:40 -0700
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.15.1

On 9/16/23 09:18, Helge Deller wrote:
On 9/16/23 15:52, Mikulas Patocka wrote:
The code in setup_rt_frame reads two words at haddr, but locks only one.
This patch fixes it to lock both.

Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>

---
  linux-user/hppa/signal.c |    5 ++---
  1 file changed, 2 insertions(+), 3 deletions(-)

Index: qemu/linux-user/hppa/signal.c
===================================================================
--- qemu.orig/linux-user/hppa/signal.c
+++ qemu/linux-user/hppa/signal.c
@@ -149,12 +149,11 @@ void setup_rt_frame(int sig, struct targ
          target_ulong *fdesc, dest;

          haddr &= -4;
-        if (!lock_user_struct(VERIFY_READ, fdesc, haddr, 1)) {
+        if (!(fdesc = lock_user(VERIFY_READ, haddr, 2 * sizeof(target_ulong), 
1)))
              goto give_sigsegv;
-        }

Patch is Ok, but I think the qemu coding style is to keep the { } braces, even
if they are unnecessary (as in this case).

Coding style also separates the assignment from the if condition.


r~


Acked-by: Helge Deller <deller@gmx.de>

          __get_user(dest, fdesc);
          __get_user(env->gr[19], fdesc + 1);
-        unlock_user_struct(fdesc, haddr, 1);
+        unlock_user(fdesc, haddr, 0);
          haddr = dest;
      }
      env->iaoq_f = haddr;






reply via email to

[Prev in Thread] Current Thread [Next in Thread]