diff options
author | Mitch Williams <mitch.a.williams@intel.com> | 2015-03-31 00:45:00 -0700 |
---|---|---|
committer | Jeff Kirsher <jeffrey.t.kirsher@intel.com> | 2015-04-03 03:54:28 -0700 |
commit | b57459e913afeca56b43b09f35588e3e8b2b0f26 (patch) | |
tree | 11d9013019eababa7c0566e221fd08049e03afd4 /drivers/net | |
parent | 818f2e7b25ac3ae12b1a40690e3aa082ff5896ee (diff) | |
download | linux-stable-b57459e913afeca56b43b09f35588e3e8b2b0f26.tar.gz linux-stable-b57459e913afeca56b43b09f35588e3e8b2b0f26.tar.bz2 linux-stable-b57459e913afeca56b43b09f35588e3e8b2b0f26.zip |
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.c | 2 |
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; } |