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 5ffd1d9ad4bd..357243d76f10 100644 --- a/drivers/vfio/pci/vfio_pci_rdwr.c +++ b/drivers/vfio/pci/vfio_pci_rdwr.c @@ -193,7 +193,10 @@ ssize_t vfio_pci_vga_rw(struct vfio_pci_device *vdev, char __user *buf,  	if (!vdev->has_vga)  		return -EINVAL; -	switch (pos) { +	if (pos > 0xbfffful) +		return -EINVAL; + +	switch ((u32)pos) {  	case 0xa0000 ... 0xbffff:  		count = min(count, (size_t)(0xc0000 - pos));  		iomem = ioremap_nocache(0xa0000, 0xbffff - 0xa0000 + 1); |