diff options
| -rw-r--r-- | drivers/vfio/pci/vfio_pci.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/vfio/pci/vfio_pci.c b/drivers/vfio/pci/vfio_pci.c index b423a309a6e0..125b58eff936 100644 --- a/drivers/vfio/pci/vfio_pci.c +++ b/drivers/vfio/pci/vfio_pci.c | |||
| @@ -28,6 +28,7 @@ | |||
| 28 | #include <linux/uaccess.h> | 28 | #include <linux/uaccess.h> |
| 29 | #include <linux/vfio.h> | 29 | #include <linux/vfio.h> |
| 30 | #include <linux/vgaarb.h> | 30 | #include <linux/vgaarb.h> |
| 31 | #include <linux/nospec.h> | ||
| 31 | 32 | ||
| 32 | #include "vfio_pci_private.h" | 33 | #include "vfio_pci_private.h" |
| 33 | 34 | ||
| @@ -727,6 +728,9 @@ static long vfio_pci_ioctl(void *device_data, | |||
| 727 | if (info.index >= | 728 | if (info.index >= |
| 728 | VFIO_PCI_NUM_REGIONS + vdev->num_regions) | 729 | VFIO_PCI_NUM_REGIONS + vdev->num_regions) |
| 729 | return -EINVAL; | 730 | return -EINVAL; |
| 731 | info.index = array_index_nospec(info.index, | ||
| 732 | VFIO_PCI_NUM_REGIONS + | ||
| 733 | vdev->num_regions); | ||
| 730 | 734 | ||
| 731 | i = info.index - VFIO_PCI_NUM_REGIONS; | 735 | i = info.index - VFIO_PCI_NUM_REGIONS; |
| 732 | 736 | ||
