qemu-devel
[Top][All Lists]
Advanced

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

[Bug 1860920] Re: qemu-s390x-softmmu: crash


From: Thomas Huth
Subject: [Bug 1860920] Re: qemu-s390x-softmmu: crash
Date: Thu, 30 Jan 2020 08:30:59 -0000

There is definitely something wrong here ;-) According to the
"Principles of Operations" ISA document, opcode 0xEC54 is the RNSBG
instruction (ROTATE THEN AND SELECTED BITS). But op_rosbg() apparently
currently handles 0xEC55, 0xEC56 and 0xEC57. 0xEC55 seems wrong there,
since this opcode should be handled by op_risbg() instead (according to
target/s390x/insn-data.def). So the "case 0x55" seems to be a typo. Does
it work if you replace "case 0x55" with "case 0x54" ?

-- 
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1860920

Title:
  qemu-s390x-softmmu: crash

Status in QEMU:
  New

Bug description:
  Trying to compile and use rust programs on an s390x emulated machine,
  crash in qemu/target/s390x/translate.c line 3894

  Steps to reproduce:
  on a amd64 PC, installed debian on s390x emulated by qemu, seems to work fine 
(installed some packages, etc.)
  installed rust cargo (either from rustup or from debian)
  cargo install anything makes *qemu* crash when beginning to compile

  Technical details:
  * host: amd64 Linux
  * qemu v4.2.0 (recompiled from git with debug options using configure 
--target-list=s390x-softmmu --enable-debug) (problem appears also with older 
versions of qemu from git, with default compilation options, with qemu from 
debian, etc.)
  * compiled with gcc 9.2
  * command line, relevant part: qemu-system-s390x -snapshot -machine 
s390-ccw-virtio -cpu max,zpci=on -serial mon:stdio -display none -m 512
  (tested with -smp 4  -m 4096 as well and without snapshotting)
  * command line, less relevant part: -drive 
file=./debian.qcow2,if=none,id=drive-virtio-disk0,format=qcow2,cache=none    
-device 
virtio-blk-ccw,devno=fe.0.0001,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1,scsi=off
    -netdev user,id=mynet0,hostfwd=tcp::2223-:22 -device 
virtio-net-pci,netdev=mynet0
  * core dump: abort in qemu/target/s390x/translate.c line 3894 ; s->field: op 
has value 0xEC and op2 has value 0x54
  (more info available if needed)

  Tried to patch source to add 0x54 case to no avail.
  Tried other cpu variants to no avail as well.

  Reporting this in security as well since it also looks very much like
  a DoS (albeit somewhat minor), feel free to tell me to report the bug
  somewhere else.

To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1860920/+subscriptions



reply via email to

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