mbox series

[v2,0/2] target/s390x: Fix SIGILL psw.addr reporting

Message ID 20210521111908.2843735-1-iii@linux.ibm.com (mailing list archive)
Headers show
Series target/s390x: Fix SIGILL psw.addr reporting | expand

Message

Ilya Leoshkevich May 21, 2021, 11:19 a.m. UTC
qemu-s390x puts a wrong value into SIGILL's siginfo_t's psw.addr: it
should be a pointer to the instruction following the illegal
instruction, but at the moment it is a pointer to the illegal
instruction itself. This breaks OpenJDK, which relies on this value.

Patch 1 fixes the issue, patch 2 adds a test.

v1: https://lists.nongnu.org/archive/html/qemu-devel/2021-05/msg06592.html
v1 -> v2: Use a better buglink (Cornelia), simplify the inline asm
          magic in the test and add an explanation (David).

Ilya Leoshkevich (2):
  target/s390x: Fix SIGILL psw.addr reporting
  tests/tcg/s390x: Test SIGILL handling

 linux-user/s390x/cpu_loop.c     |  6 ++-
 target/s390x/excp_helper.c      | 69 ++++++++++++++++++---------------
 target/s390x/internal.h         |  1 +
 tests/tcg/s390x/Makefile.target |  1 +
 tests/tcg/s390x/sigill.c        | 52 +++++++++++++++++++++++++
 5 files changed, 96 insertions(+), 33 deletions(-)
 create mode 100644 tests/tcg/s390x/sigill.c

Comments

no-reply@patchew.org May 21, 2021, 11:30 a.m. UTC | #1
Patchew URL: https://patchew.org/QEMU/20210521111908.2843735-1-iii@linux.ibm.com/



Hi,

This series seems to have some coding style problems. See output below for
more information:

Type: series
Message-id: 20210521111908.2843735-1-iii@linux.ibm.com
Subject: [PATCH v2 0/2] target/s390x: Fix SIGILL psw.addr reporting

=== TEST SCRIPT BEGIN ===
#!/bin/bash
git rev-parse base > /dev/null || exit 0
git config --local diff.renamelimit 0
git config --local diff.renames True
git config --local diff.algorithm histogram
./scripts/checkpatch.pl --mailback base..
=== TEST SCRIPT END ===

Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384
From https://github.com/patchew-project/qemu
   0b5acf8..da9076f  master     -> master
 * [new tag]         patchew/20210521111908.2843735-1-iii@linux.ibm.com -> patchew/20210521111908.2843735-1-iii@linux.ibm.com
Switched to a new branch 'test'
195f303 tests/tcg/s390x: Test SIGILL handling
37f7389 target/s390x: Fix SIGILL psw.addr reporting

=== OUTPUT BEGIN ===
1/2 Checking commit 37f73891cb22 (target/s390x: Fix SIGILL psw.addr reporting)
2/2 Checking commit 195f303f366e (tests/tcg/s390x: Test SIGILL handling)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#26: 
new file mode 100644

ERROR: externs should be avoided in .c files
#43: FILE: tests/tcg/s390x/sigill.c:13:
+void expected_si_addr(void);

ERROR: externs should be avoided in .c files
#44: FILE: tests/tcg/s390x/sigill.c:14:
+void expected_psw_addr(void);

total: 2 errors, 1 warnings, 56 lines checked

Patch 2/2 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

=== OUTPUT END ===

Test command exited with code: 1


The full log is available at
http://patchew.org/logs/20210521111908.2843735-1-iii@linux.ibm.com/testing.checkpatch/?type=message.
---
Email generated automatically by Patchew [https://patchew.org/].
Please send your feedback to patchew-devel@redhat.com
Ilya Leoshkevich June 1, 2021, 12:38 p.m. UTC | #2
On Fri, 2021-05-21 at 13:19 +0200, Ilya Leoshkevich wrote:
> qemu-s390x puts a wrong value into SIGILL's siginfo_t's psw.addr: it
> should be a pointer to the instruction following the illegal
> instruction, but at the moment it is a pointer to the illegal
> instruction itself. This breaks OpenJDK, which relies on this value.
> 
> Patch 1 fixes the issue, patch 2 adds a test.
> 
> v1:
> https://lists.nongnu.org/archive/html/qemu-devel/2021-05/msg06592.html
> v1 -> v2: Use a better buglink (Cornelia), simplify the inline asm
>           magic in the test and add an explanation (David).
> 
> Ilya Leoshkevich (2):
>   target/s390x: Fix SIGILL psw.addr reporting
>   tests/tcg/s390x: Test SIGILL handling
> 
>  linux-user/s390x/cpu_loop.c     |  6 ++-
>  target/s390x/excp_helper.c      | 69 ++++++++++++++++++-------------
> --
>  target/s390x/internal.h         |  1 +
>  tests/tcg/s390x/Makefile.target |  1 +
>  tests/tcg/s390x/sigill.c        | 52 +++++++++++++++++++++++++
>  5 files changed, 96 insertions(+), 33 deletions(-)
>  create mode 100644 tests/tcg/s390x/sigill.c

Hi,

Is there anything I need to do to have this merged?

Regarding the style checker warning: I could move the function
declaration to a separate header, but from my perspective this would
make the test less readable.

Best regards,
Ilya
Ilya Leoshkevich June 1, 2021, 3:52 p.m. UTC | #3
On Tue, 2021-06-01 at 14:38 +0200, Ilya Leoshkevich wrote:
> On Fri, 2021-05-21 at 13:19 +0200, Ilya Leoshkevich wrote:
> > qemu-s390x puts a wrong value into SIGILL's siginfo_t's psw.addr: it
> > should be a pointer to the instruction following the illegal
> > instruction, but at the moment it is a pointer to the illegal
> > instruction itself. This breaks OpenJDK, which relies on this value.
> > 
> > Patch 1 fixes the issue, patch 2 adds a test.
> > 
> > v1:
> > https://lists.nongnu.org/archive/html/qemu-devel/2021-05/msg06592.html
> > v1 -> v2: Use a better buglink (Cornelia), simplify the inline asm
> >           magic in the test and add an explanation (David).
> > 
> > Ilya Leoshkevich (2):
> >   target/s390x: Fix SIGILL psw.addr reporting
> >   tests/tcg/s390x: Test SIGILL handling
> > 
> >  linux-user/s390x/cpu_loop.c     |  6 ++-
> >  target/s390x/excp_helper.c      | 69 ++++++++++++++++++-------------
> > --
> >  target/s390x/internal.h         |  1 +
> >  tests/tcg/s390x/Makefile.target |  1 +
> >  tests/tcg/s390x/sigill.c        | 52 +++++++++++++++++++++++++
> >  5 files changed, 96 insertions(+), 33 deletions(-)
> >  create mode 100644 tests/tcg/s390x/sigill.c
> 
> Hi,
> 
> Is there anything I need to do to have this merged?
> 
> Regarding the style checker warning: I could move the function
> declaration to a separate header, but from my perspective this would
> make the test less readable.
> 
> Best regards,
> Ilya

I was just finalizing the similar series for SIGSEGV, when I
realized that the problem that it solves is actually caused by this
one. So please don't merge it yet (in case you were planning to), and
let me send a combined v3.

Best regards,
Ilya