|
@@ -51,6 +51,7 @@
|
|
|
#include <linux/sched.h>
|
|
#include <linux/sched.h>
|
|
|
#include <linux/slab.h>
|
|
#include <linux/slab.h>
|
|
|
#include <linux/uaccess.h>
|
|
#include <linux/uaccess.h>
|
|
|
|
|
+#include <linux/nospec.h>
|
|
|
|
|
|
|
|
#include "common.h"
|
|
#include "common.h"
|
|
|
#include "cxgb3_ioctl.h"
|
|
#include "cxgb3_ioctl.h"
|
|
@@ -2268,6 +2269,7 @@ static int cxgb_extension_ioctl(struct net_device *dev, void __user *useraddr)
|
|
|
|
|
|
|
|
if (t.qset_idx >= nqsets)
|
|
if (t.qset_idx >= nqsets)
|
|
|
return -EINVAL;
|
|
return -EINVAL;
|
|
|
|
|
+ t.qset_idx = array_index_nospec(t.qset_idx, nqsets);
|
|
|
|
|
|
|
|
q = &adapter->params.sge.qset[q1 + t.qset_idx];
|
|
q = &adapter->params.sge.qset[q1 + t.qset_idx];
|
|
|
t.rspq_size = q->rspq_size;
|
|
t.rspq_size = q->rspq_size;
|