diff options
| author | Thomas Huth | 2016-04-21 12:08:58 +0200 |
|---|---|---|
| committer | David Gibson | 2016-04-23 08:52:20 +0200 |
| commit | da34fed707a3a3ffa229f4e724aea06da1b53fb0 (patch) | |
| tree | e9e930f53c129f93eddec95deb789b8f9b3d8e4d /linux-user/linux_loop.h | |
| parent | Merge remote-tracking branch 'remotes/kevin/tags/for-upstream' into staging (diff) | |
| download | qemu-da34fed707a3a3ffa229f4e724aea06da1b53fb0.tar.gz qemu-da34fed707a3a3ffa229f4e724aea06da1b53fb0.tar.xz qemu-da34fed707a3a3ffa229f4e724aea06da1b53fb0.zip | |
hw/ppc/spapr: Fix crash when specifying bad parameters to spapr-pci-host-bridge
QEMU currently crashes when using bad parameters for the
spapr-pci-host-bridge device:
$ qemu-system-ppc64 -device spapr-pci-host-bridge,buid=0x123,liobn=0x321,mem_win_addr=0x1,io_win_addr=0x10
Segmentation fault
The problem is that spapr_tce_find_by_liobn() might return NULL, but
the code in spapr_populate_pci_dt() does not check for this condition
and then tries to dereference this NULL pointer.
Apart from that, the return value of spapr_populate_pci_dt() also
has to be checked for all PCI buses, not only for the last one, to
make sure we catch all errors.
Signed-off-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Diffstat (limited to 'linux-user/linux_loop.h')
0 files changed, 0 insertions, 0 deletions
