iavf: Fix ping is lost after untrusted VF had tried to change MAC
authorSylwester Dziedziuch <sylwesterx.dziedziuch@intel.com>
Wed, 18 Aug 2021 17:42:17 +0000 (10:42 -0700)
committerSasha Levin <sashal@kernel.org>
Thu, 26 Aug 2021 12:36:19 +0000 (08:36 -0400)
commit85813f1f9e86c4a620db7b2f3eedd2679af2c4be
tree5b6a5bc968460d1c3d93de7913c2aba0aeecc6e9
parenta498115dcd9c3d321379500abe3bc66a04259067
iavf: Fix ping is lost after untrusted VF had tried to change MAC

[ Upstream commit 8da80c9d50220a8e4190a4eaa0dd6aeefcbbb5bf ]

Make changes to MAC address dependent on the response of PF.
Disallow changes to HW MAC address and MAC filter from untrusted
VF, thanks to that ping is not lost if VF tries to change MAC.
Add a new field in iavf_mac_filter, to indicate whether there
was response from PF for given filter. Based on this field pass
or discard the filter.
If untrusted VF tried to change it's address, it's not changed.
Still filter was changed, because of that ping couldn't go through.

Fixes: c5c922b3e09b ("iavf: fix MAC address setting for VFs when filter is rejected")
Signed-off-by: Przemyslaw Patynowski <przemyslawx.patynowski@intel.com>
Signed-off-by: Sylwester Dziedziuch <sylwesterx.dziedziuch@intel.com>
Signed-off-by: Mateusz Palczewski <mateusz.palczewski@intel.com>
Tested-by: Gurucharan G <Gurucharanx.g@intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/ethernet/intel/iavf/iavf.h
drivers/net/ethernet/intel/iavf/iavf_main.c
drivers/net/ethernet/intel/iavf/iavf_virtchnl.c