summaryrefslogtreecommitdiffstats
path: root/drivers/net
diff options
context:
space:
mode:
authorMitch Williams <mitch.a.williams@intel.com>2015-03-31 00:45:00 -0700
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>2015-04-03 03:54:28 -0700
commitb57459e913afeca56b43b09f35588e3e8b2b0f26 (patch)
tree11d9013019eababa7c0566e221fd08049e03afd4 /drivers/net
parent818f2e7b25ac3ae12b1a40690e3aa082ff5896ee (diff)
downloadlinux-b57459e913afeca56b43b09f35588e3e8b2b0f26.tar.bz2
i40e: validate VSI param from VFs
Validate that the VF has sent us a valid VSI index before actually using that index. Without this code, a malicious or buggy VF driver could panic the host by sending an invalid index into the VSI array. Change-ID: I66a177687a0dcc281ec83e714d3813d70d18c8b4 Reported-by: Nick Nunley <nicholas.d.nunley@intel.com> Signed-off-by: Mitch Williams <mitch.a.williams@intel.com> Tested-by: Jim Young <james.m.young@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Diffstat (limited to 'drivers/net')
-rw-r--r--drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c b/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c
index 0a93684130b9..bb184122f563 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c
@@ -57,6 +57,8 @@ static inline bool i40e_vc_isvalid_vsi_id(struct i40e_vf *vf, u8 vsi_id)
{
struct i40e_pf *pf = vf->pf;
+ if (vsi_id > pf->num_alloc_vsi)
+ return false;
return pf->vsi[vsi_id]->vf_id == vf->vf_id;
}