]> xenbits.xensource.com Git - qemu-xen.git/commit
pseries: Use correct dispatcher for PCI config space accesses
authorDavid Gibson <david@gibson.dropbear.id.au>
Wed, 11 Jan 2012 19:46:26 +0000 (19:46 +0000)
committerAlexander Graf <agraf@suse.de>
Sat, 21 Jan 2012 04:17:02 +0000 (05:17 +0100)
commitc9c3c80af71dd2b7813d1ada9b14cb51df584221
treec44c4eb2f0bc79d92142dd93ca2347bfa5fe7096
parent3f7565c957c14e4600d471791fca8e534c1ad0b7
pseries: Use correct dispatcher for PCI config space accesses

The pseries machine expects a para-virtualized guest and so supplies RTAS
functions (via a hypercall) for performing PCI config space access.
Currently the implementation of these calls into
pci_default_{read,write}_config().  However this would be incorrect for
any PCI device which overrides the default config read/write functions.
AFAICT there's only one such device today, but we should still get it
right.  In addition the pci_host_config_{read,write}_common() functions
which do correctly do this dispatch, perform bounds checking on the config
space address, lack of which currently leads to an exploitable bug.

This patch corrects the problem.

Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Alexander Graf <agraf@suse.de>
hw/spapr_pci.c