From 24202d2b561c3b4c48bd28383c8c34b4ac66c2bf Mon Sep 17 00:00:00 2001 From: Prasad J Pandit Date: Tue, 11 Aug 2020 17:11:27 +0530 Subject: [PATCH] vfio: add quirk device write method Add vfio quirk device mmio write method to avoid NULL pointer dereference issue. Reported-by: Lei Sun Reviewed-by: Li Qiang Reviewed-by: Peter Maydell Acked-by: Alex Williamson Signed-off-by: Prasad J Pandit Message-Id: <20200811114133.672647-4-ppandit@redhat.com> Signed-off-by: Paolo Bonzini CVE: CVE-2020-15469 Upstream-Status: Backport [import from ubuntu https://git.launchpad.net/ubuntu/+source/qemu/tree/debian/patches/CVE-2020-15469-3.patch?h=ubuntu/focal-security Upstream commit https://github.com/qemu/qemu/commit/24202d2b561c3b4c48bd28383c8c34b4ac66c2bf] Signed-off-by: Chee Yang Lee --- hw/vfio/pci-quirks.c | 8 ++++++++ 1 file changed, 8 insertions(+) --- a/hw/vfio/pci-quirks.c +++ b/hw/vfio/pci-quirks.c @@ -13,6 +13,7 @@ #include "qemu/osdep.h" #include "exec/memop.h" #include "qemu/units.h" +#include "qemu/log.h" #include "qemu/error-report.h" #include "qemu/main-loop.h" #include "qemu/module.h" @@ -278,8 +279,15 @@ static uint64_t vfio_ati_3c3_quirk_read( return data; } +static void vfio_ati_3c3_quirk_write(void *opaque, hwaddr addr, + uint64_t data, unsigned size) +{ + qemu_log_mask(LOG_GUEST_ERROR, "%s: invalid access\n", __func__); +} + static const MemoryRegionOps vfio_ati_3c3_quirk = { .read = vfio_ati_3c3_quirk_read, + .write = vfio_ati_3c3_quirk_write, .endianness = DEVICE_LITTLE_ENDIAN, };