Bug 1306343 - drmgr with invalid value in guest crashes qemu [7.2.z]
drmgr with invalid value in guest crashes qemu [7.2.z]
Status: CLOSED ERRATA
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: qemu-kvm-rhev (Show other bugs)
7.2
ppc64le Linux
high Severity unspecified
: rc
: ---
Assigned To: Laurent Vivier
Virtualization Bugs
: ZStream
Depends On: 1299030
Blocks: RHEV3.6PPC
  Show dependency treegraph
 
Reported: 2016-02-10 10:41 EST by Marcel Kolaja
Modified: 2016-07-27 16:16 EDT (History)
13 users (show)

See Also:
Fixed In Version: qemu-kvm-rhev-2.3.0-31.el7_2.8
Doc Type: Bug Fix
Doc Text:
Previously, if the drmgr command was used in the guest to hot plug a device before a device_add command was issued via the QEMU monitor, QEMU terminated unexpectedly with a segmentation fault. This update fixes the handling of drmgr so that in the described circumstances, an error is properly raised and QEMU does not crash.
Story Points: ---
Clone Of: 1299030
Environment:
Last Closed: 2016-04-03 21:17:03 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Marcel Kolaja 2016-02-10 10:41:53 EST
This bug has been copied from bug #1299030 and has been proposed
to be backported to 7.2 z-stream (EUS).
Comment 3 Miroslav Rezanina 2016-02-24 04:18:29 EST
Fix included in qemu-kvm-rhev-2.3.0-31.el7_2.8
Comment 5 mazhang 2016-02-25 22:27:06 EST
Reproduce this bug on qemu-kvm-rhev-2.3.0-31.el7.ppc64le.

Host:
3.10.0-327.el7.ppc64le
qemu-kvm-rhev-2.3.0-31.el7.ppc64le

Guest:
3.10.0-351.el7.ppc64le

Steps:
1. Boot guest with:
/usr/libexec/qemu-kvm -name bz1276205 -machine pseries,accel=kvm,usb=off -nodefaults -m 4G,slots=8,maxmem=8G -smp 4 -vga none -nographic -chardev stdio,id=conmon,mux=on,signal=off -device spapr-vty,chardev=conmon -mon conmon -drive file=/home/RHEL-Server-7.2-ppc64le-virtio.qcow2,if=none,id=drive-scsi0-0-0-0,format=qcow2,rerror=stop,werror=stop -device virtio-blk-pci,drive=drive-scsi0-0-0-0,id=scsi0-0-0-0,bus=pci.0,addr=0x3,bootindex=1 -serial unix:/tmp/console,server,nowait

2. In the guest execute: "drmgr -c mem -a -s 0x80000010".

Result:
qemu-kvm segmentation fault.

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x3fffb32ceaf0 (LWP 4680)]
0x00003fffb7101a4c in fdt_offset_ptr () from /lib64/libfdt.so.1
Missing separate debuginfos, use: debuginfo-install alsa-lib-1.0.28-2.el7.ppc64le bzip2-libs-1.0.6-13.el7.ppc64le cyrus-sasl-lib-2.1.26-19.2.el7.ppc64le dbus-libs-1.6.12-13.el7.ppc64le elfutils-libelf-0.163-3.el7.ppc64le elfutils-libs-0.163-3.el7.ppc64le flac-libs-1.3.0-5.el7_1.ppc64le glib2-2.42.2-5.el7.ppc64le glibc-2.17-105.el7.ppc64le gmp-6.0.0-11.el7.ppc64le gnutls-3.3.8-12.el7_1.1.ppc64le gperftools-libs-2.4-7.el7.ppc64le gsm-1.0.13-11.el7.ppc64le json-c-0.11-4.el7_0.ppc64le keyutils-libs-1.5.8-3.el7.ppc64le krb5-libs-1.13.2-10.el7.ppc64le libICE-1.0.9-2.el7.ppc64le libSM-1.2.2-2.el7.ppc64le libX11-1.6.3-2.el7.ppc64le libXau-1.0.8-2.1.el7.ppc64le libXext-1.3.3-3.el7.ppc64le libXi-1.7.4-2.el7.ppc64le libXtst-1.2.2-2.1.el7.ppc64le libaio-0.3.109-13.el7.ppc64le libasyncns-0.8-7.el7.ppc64le libattr-2.4.46-12.el7.ppc64le libcap-2.22-8.el7.ppc64le libcom_err-1.42.9-7.el7.ppc64le libcurl-7.29.0-25.el7.ppc64le libfdt-1.4.0-2.el7.ppc64le libffi-3.0.13-16.el7.ppc64le libgcc-4.8.5-4.el7.ppc64le libgcrypt-1.5.3-12.el7_1.1.ppc64le libgpg-error-1.12-3.el7.ppc64le libibverbs-1.1.8-8.el7.ppc64le libidn-1.28-4.el7.ppc64le libiscsi-1.9.0-6.el7.ppc64le libnl3-3.2.21-10.el7.ppc64le libogg-1.3.0-7.el7.ppc64le libpng-1.5.13-5.el7.ppc64le librdmacm-1.0.21-1.el7.ppc64le libselinux-2.2.2-6.el7.ppc64le libsndfile-1.0.25-10.el7.ppc64le libssh2-1.4.3-10.el7.ppc64le libstdc++-4.8.5-4.el7.ppc64le libtasn1-3.8-2.el7.ppc64le libusbx-1.0.15-4.el7.ppc64le libuuid-2.23.2-26.el7.ppc64le libvorbis-1.3.3-8.el7.ppc64le libxcb-1.11-4.el7.ppc64le lzo-2.06-8.el7.ppc64le nettle-2.7.1-4.el7.ppc64le nspr-4.10.8-2.el7_1.ppc64le nss-3.19.1-18.el7.ppc64le nss-softokn-freebl-3.16.2.3-13.el7_1.ppc64le nss-util-3.19.1-4.el7_1.ppc64le numactl-libs-2.0.9-5.el7_1.ppc64le openldap-2.4.40-8.el7.ppc64le openssl-libs-1.0.1e-42.el7_1.9.ppc64le p11-kit-0.20.7-3.el7.ppc64le pcre-8.32-15.el7.ppc64le pixman-0.32.6-3.el7.ppc64le pulseaudio-libs-6.0-7.el7.ppc64le snappy-1.1.0-3.el7.ppc64le systemd-libs-219-19.el7.ppc64le tcp_wrappers-libs-7.6-77.el7.ppc64le trousers-0.3.13-1.el7.ppc64le xz-libs-5.1.2-12alpha.el7.ppc64le zlib-1.2.7-15.el7.ppc64le
(gdb) bt
#0  0x00003fffb7101a4c in fdt_offset_ptr () from /lib64/libfdt.so.1
#1  0x00003fffb7101a44 in fdt_offset_ptr () from /lib64/libfdt.so.1
Backtrace stopped: frame did not save the PC


Update qemu-kvm to qemu-kvm-rhev-2.3.0-31.el7_2.8 and re-test.

Result:
qemu-kvm not crash anymore, guest works well.

[root@dhcp71-85 ~]# drmgr -c mem -a -s 0x80000010
drmgr -c mem -a -s 0x80000010
Validating Memory DLPAR capability...yes.
This adapter is currently unusable, available for exchange or available for recovery
Configure_connector failed for drc index 80000010
Data may be out of sync and the system may require a reboot.
Unexpected error (src/drmgr/drslot_chrp_mem.c:1008).  Contact support and provide debug log from /var/log/drmgr.
DR_TOTAL_RESOURCES=0
[root@dhcp71-85 ~]# ls
ls
anaconda-ks.cfg  Documents  Music  Pictures  Templates
Desktop		 Downloads  perl5  Public    Videos

So this bug has been fixed.
Comment 7 errata-xmlrpc 2016-04-03 21:17:03 EDT
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2016:0587

Note You need to log in before you can comment on or make changes to this bug.