qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Mikulas Patocka <mpatocka@redhat.com>
To: Helge Deller <deller@gmx.de>
Cc: Richard Henderson <richard.henderson@linaro.org>,
	 John David Anglin <dave.anglin@bell.net>,
	qemu-devel@nongnu.org,  linux-parisc@vger.kernel.org
Subject: [PATCH v2] qemu-hppa: lock both words of function descriptor
Date: Sat, 16 Sep 2023 18:32:45 +0200 (CEST)	[thread overview]
Message-ID: <e09db414-c3ca-9725-1d28-42811767e60@redhat.com> (raw)
In-Reply-To: <953ee56d-173a-aaf2-c7fc-34386f285340@gmx.de>



On Sat, 16 Sep 2023, 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).
> 
> Acked-by: Helge Deller <deller@gmx.de>

OK, here I resend it:


From: Mikulas Patocka <mpatocka@redhat.com>

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>
Acked-by: Helge Deller <deller@gmx.de>

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

Index: qemu/linux-user/hppa/signal.c
===================================================================
--- qemu.orig/linux-user/hppa/signal.c
+++ qemu/linux-user/hppa/signal.c
@@ -149,12 +149,12 @@ 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;
         }
         __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	other threads:[~2023-09-16 16:33 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-09-16 13:52 [PATCH] target/hppa: lock both words of function descriptor Mikulas Patocka
2023-09-16 16:18 ` Helge Deller
2023-09-16 16:32   ` Mikulas Patocka [this message]
2023-09-16 17:17   ` Richard Henderson
2023-09-16 18:06     ` Helge Deller

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=e09db414-c3ca-9725-1d28-42811767e60@redhat.com \
    --to=mpatocka@redhat.com \
    --cc=dave.anglin@bell.net \
    --cc=deller@gmx.de \
    --cc=linux-parisc@vger.kernel.org \
    --cc=qemu-devel@nongnu.org \
    --cc=richard.henderson@linaro.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).