Re: [PATCH iwl-next v3 3/8] ice: do not check for zero mac when creating mac filters

Tony Nguyen
2026-01-26T23:21:52Z

On 1/20/2026 2:34 AM, Jakub Slepecki wrote:
> A zero MAC address was considered a special case while creating a new
> MAC filter. There is no particular reason for that other than the fact
> that the union containing it was assumed to be zeroed out. Now, address
> is pulled out of the union by ice_fltr_mac_address which checks all of
> the previously assumed zero-address cases and returns an error if they
> are hit.
>
> Reviewed-by: Aleksandr Loktionov <aleksandr.loktionov@intel.com>
> Reviewed-by: Michal Swiatkowski <michal.swiatkowski@linux.intel.com>
> Signed-off-by: Jakub Slepecki <jakub.slepecki@intel.com>
>
> ---
> No changes in v3.
> No changes in v2.
> ---
> drivers/net/ethernet/intel/ice/ice_switch.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/net/ethernet/intel/ice/ice_switch.c b/drivers/net/ethernet/intel/ice/ice_switch.c
> index 0275e2910c6b..04e5d653efce 100644
> --- a/drivers/net/ethernet/intel/ice/ice_switch.c
> +++ b/drivers/net/ethernet/intel/ice/ice_switch.c
> @@ -3648,7 +3648,7 @@ int ice_add_mac(struct ice_hw *hw, struct list_head *m_list)
> u16 hw_vsi_id;
>
> err = ice_fltr_mac_address(addr, &m_list_itr->fltr_info);
> - if (err || is_zero_ether_addr(addr))

This is introduced in the previous patch; it would be better to remove
it in the original patch.

Also, AI Review says:

The is_zero_ether_addr(addr) check was removed in line 3651, relying on
the claim that ice_fltr_mac_address() performs this validation. However,
the helper function only extracts the MAC address and validates the
lookup type—it does NOT validate against zero addresses.

Thanks,
Tony

> + if (err)
> return -EINVAL;
> m_list_itr->fltr_info.flag = ICE_FLTR_TX;
> vsi_handle = m_list_itr->fltr_info.vsi_handle;