Comment 0 for bug 1860920

Revision history for this message
Jean-Gabriel Kammerer (jgkammerer) wrote :

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 (both from rustup and 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.