ice: always report VF overflowing mailbox even without PF VSI
authorJacob Keller <jacob.e.keller@intel.com>
Wed, 22 Feb 2023 17:09:15 +0000 (09:09 -0800)
committerTony Nguyen <anthony.l.nguyen@intel.com>
Mon, 13 Mar 2023 18:06:06 +0000 (11:06 -0700)
In ice_is_malicious_vf we report a message warning the system administrator
when a VF is potentially spamming the PF with asynchronous messages that
could overflow the PF mailbox.

The specific message was requested by our customer support team to include
the VF and PF MAC address. In some cases we may not be able to locate the
PF VSI to obtain the MAC address for the PF. The current implementation
discards the message entirely in this case. Fix this to instead print a
zero address in that case so that we always print something here. Note that
dev_warn will also include the PCI device information allowing another
mechanism for determining on which PF the potentially malicious VF belongs.

Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>
Reviewed-by: Michal Swiatkowski <michal.swiatkowski@linux.intel.com>
Tested-by: Marek Szlosek <marek.szlosek@intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
drivers/net/ethernet/intel/ice/ice_sriov.c

index 79159cbb66ec641da5f177fed7e2189d30cf6aca..185673afb7819c6f943457b502539c999690c6da 100644 (file)
@@ -1817,11 +1817,11 @@ ice_is_malicious_vf(struct ice_pf *pf, struct ice_rq_event_info *event,
 
        if (report_malvf) {
                struct ice_vsi *pf_vsi = ice_get_main_vsi(pf);
+               u8 zero_addr[ETH_ALEN] = {};
 
-               if (pf_vsi)
-                       dev_warn(dev, "VF MAC %pM on PF MAC %pM is generating asynchronous messages and may be overflowing the PF message queue. Please see the Adapter User Guide for more information\n",
-                                &vf->dev_lan_addr[0],
-                                pf_vsi->netdev->dev_addr);
+               dev_warn(dev, "VF MAC %pM on PF MAC %pM is generating asynchronous messages and may be overflowing the PF message queue. Please see the Adapter User Guide for more information\n",
+                        &vf->dev_lan_addr[0],
+                        pf_vsi ? pf_vsi->netdev->dev_addr : zero_addr);
        }
 
 out_put_vf: