OSDN Git Service

virtio: pci-legacy: Validate queue pfn
authorSuzuki K Poulose <suzuki.poulose@arm.com>
Wed, 18 Jul 2018 09:18:45 +0000 (10:18 +0100)
committerMichael S. Tsirkin <mst@redhat.com>
Tue, 21 Aug 2018 21:56:58 +0000 (00:56 +0300)
commit69599206ea9a3f8f2e94d46580579cbf9d08ad6c
tree0055bfef1896dc50627021081e305fcaa0b83257
parent3fc92a96c2b7efdb7fc4f856713e2ab7439757f6
virtio: pci-legacy: Validate queue pfn

Legacy PCI over virtio uses a 32bit PFN for the queue. If the
queue pfn is too large to fit in 32bits, which we could hit on
arm64 systems with 52bit physical addresses (even with 64K page
size), we simply miss out a proper link to the other side of
the queue.

Add a check to validate the PFN, rather than silently breaking
the devices.

Cc: "Michael S. Tsirkin" <mst@redhat.com>
Cc: Jason Wang <jasowang@redhat.com>
Cc: Marc Zyngier <marc.zyngier@arm.com>
Cc: Christoffer Dall <cdall@kernel.org>
Cc: Peter Maydel <peter.maydell@linaro.org>
Cc: Jean-Philippe Brucker <jean-philippe.brucker@arm.com>
Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
drivers/virtio/virtio_pci_legacy.c