diff options
Diffstat (limited to 'drivers/vfio/pci/vfio_pci_rdwr.c')
-rw-r--r-- | drivers/vfio/pci/vfio_pci_rdwr.c | 5 |
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); |