diff --git a/drivers/vhost/vhost.c b/drivers/vhost/vhost.c index b13c6b4b2c665a332a40aeada1eaa1e421d9a4aa..eb95daa3e5a52314e6d9a857ddcd5591b395c654 100644 --- a/drivers/vhost/vhost.c +++ b/drivers/vhost/vhost.c @@ -30,6 +30,7 @@ #include #include #include +#include #include "vhost.h" @@ -1397,6 +1398,7 @@ long vhost_vring_ioctl(struct vhost_dev *d, unsigned int ioctl, void __user *arg if (idx >= d->nvqs) return -ENOBUFS; + idx = array_index_nospec(idx, d->nvqs); vq = d->vqs[idx]; mutex_lock(&vq->mutex);