aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/vfio/pci/vfio_pci_rdwr.c')
-rw-r--r--drivers/vfio/pci/vfio_pci_rdwr.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/vfio/pci/vfio_pci_rdwr.c b/drivers/vfio/pci/vfio_pci_rdwr.c
index 210db24d2204..4d39f7959adf 100644
--- a/drivers/vfio/pci/vfio_pci_rdwr.c
+++ b/drivers/vfio/pci/vfio_pci_rdwr.c
@@ -190,7 +190,10 @@ ssize_t vfio_pci_vga_rw(struct vfio_pci_device *vdev, char __user *buf,
190 if (!vdev->has_vga) 190 if (!vdev->has_vga)
191 return -EINVAL; 191 return -EINVAL;
192 192
193 switch (pos) { 193 if (pos > 0xbfffful)
194 return -EINVAL;
195
196 switch ((u32)pos) {
194 case 0xa0000 ... 0xbffff: 197 case 0xa0000 ... 0xbffff:
195 count = min(count, (size_t)(0xc0000 - pos)); 198 count = min(count, (size_t)(0xc0000 - pos));
196 iomem = ioremap_nocache(0xa0000, 0xbffff - 0xa0000 + 1); 199 iomem = ioremap_nocache(0xa0000, 0xbffff - 0xa0000 + 1);