From: sashiko-bot@kernel.org
To: wei.fang@oss.nxp.com
Cc: imx@lists.linux.dev, Frank.Li@kernel.org
Subject: Re: [PATCH net-next 02/14] net: enetc: extract common helpers for MAC hash filter configuration
Date: Wed, 01 Jul 2026 07:51:15 +0000 [thread overview]
Message-ID: <20260701075116.0321D1F000E9@smtp.kernel.org> (raw)
In-Reply-To: <20260630072036.382761-3-wei.fang@oss.nxp.com>
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
Pre-existing issues:
- [High] Preexisting 32-bit truncation bug in VLAN hash filter configuration identical to the one fixed for MAC hash filters.
--
commit 2d2b1381169047a47aed6dfbbe75eac22a3d3710
Author: Wei Fang <wei.fang@nxp.com>
net: enetc: extract common helpers for MAC hash filter configuration
This patch extracts the MAC hash filter configuration code, which is
identical between ENETC v1 and v4 hardware, into common helper functions
in enetc_pf_common.c. It also replaces direct bitmap dereferences with
bitmap_to_arr64() to ensure correct 64-bit conversion on 32-bit systems.
> diff --git a/drivers/net/ethernet/freescale/enetc/enetc_pf.c b/drivers/net/ethernet/freescale/enetc/enetc_pf.c
> index a97d2e2dd07b7..db2a800a7aaf0 100644
> --- a/drivers/net/ethernet/freescale/enetc/enetc_pf.c
> +++ b/drivers/net/ethernet/freescale/enetc/enetc_pf.c
[ ... ]
> @@ -147,11 +120,15 @@ static void enetc_sync_mac_filters(struct enetc_pf *pf)
> err);
> }
>
> + bitmap_to_arr64(&hash, f->mac_hash_table,
> + ENETC_MADDR_HASH_TBL_SZ);
> /* hash table filter, clear EM filter for UC entries */
> - if (i == UC)
> + if (i == UC) {
> enetc_clear_mac_flt_entry(si, pos);
> -
> - enetc_set_mac_ht_flt(si, 0, i, *f->mac_hash_table);
> + enetc_set_si_uc_hash_filter(si, 0, hash);
[Severity: High]
This is a pre-existing issue, but I noticed this patch correctly uses
bitmap_to_arr64() to handle 32-bit architectures when passing the 64-bit MAC
hash table to enetc_set_si_uc_hash_filter().
Does the same 32-bit truncation issue happen with the VLAN hash filter
configuration? Looking at enetc_vlan_rx_add_vid() and enetc_vlan_rx_del_vid()
in drivers/net/ethernet/freescale/enetc/enetc_pf_common.c, it appears they
pass the bitmap directly:
enetc_set_si_vlan_ht_filter(pf->si, 0, *pf->vlan_ht_filter);
Since pf->vlan_ht_filter is also defined as a DECLARE_BITMAP of size 64,
wouldn't dereferencing it as *pf->vlan_ht_filter evaluate to a 32-bit
unsigned long on 32-bit architectures?
If so, this would zero-extend the value when passed to the u64 hash parameter,
clearing the upper 32 bits of the hardware VLAN hash filter register and
breaking VLAN filtering for any VID that hashes to bits 32-63.
Should a similar bitmap_to_arr64() fix be applied for the VLAN hash filter?
> + } else {
> + enetc_set_si_mc_hash_filter(si, 0, hash);
> + }
> }
> }
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260630072036.382761-1-wei.fang@oss.nxp.com?part=2
next prev parent reply other threads:[~2026-07-01 7:51 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-06-30 7:20 [PATCH net-next 00/14] net: enetc: cleanups and improvements wei.fang
2026-06-30 7:20 ` [PATCH net-next 01/14] net: enetc: extract common helpers for MAC promiscuous mode setting wei.fang
2026-06-30 7:20 ` [PATCH net-next 02/14] net: enetc: extract common helpers for MAC hash filter configuration wei.fang
2026-07-01 7:51 ` sashiko-bot [this message]
2026-07-01 8:20 ` Wei Fang (OSS)
2026-06-30 7:20 ` [PATCH net-next 03/14] net: enetc: convert ndo_set_rx_mode() to ndo_set_rx_mode_async() wei.fang
2026-06-30 7:20 ` [PATCH net-next 04/14] net: enetc: improve MAFT entry management with bitmap tracking wei.fang
2026-06-30 7:20 ` [PATCH net-next 05/14] net: enetc: use PCI device name for debugfs directory wei.fang
2026-06-30 7:20 ` [PATCH net-next 06/14] net: enetc: simplify enetc4_set_port_speed() wei.fang
2026-06-30 7:20 ` [PATCH net-next 07/14] net: enetc: differentiate phylink capabilities for pseudo-MAC and standalone MAC wei.fang
2026-07-01 7:51 ` sashiko-bot
2026-07-01 10:12 ` Wei Fang (OSS)
2026-06-30 7:20 ` [PATCH net-next 08/14] net: enetc: remove invalid code from enetc4_pl_mac_link_up() wei.fang
2026-06-30 7:20 ` [PATCH net-next 09/14] net: enetc: remove enetc4_set_default_si_vlan_promisc() wei.fang
2026-06-30 7:20 ` [PATCH net-next 10/14] net: enetc: refactor SI VLAN promiscuous mode configuration wei.fang
2026-06-30 7:20 ` [PATCH net-next 11/14] net: enetc: move enetc_set_si_vlan_promisc() to enetc_pf_common.c wei.fang
2026-06-30 7:20 ` [PATCH net-next 12/14] net: enetc: remove redundant num_vsi field from enetc_port_caps wei.fang
2026-06-30 7:20 ` [PATCH net-next 13/14] net: enetc: use alloc_etherdev_mqs() to create netdev for VF driver wei.fang
2026-07-01 7:51 ` sashiko-bot
2026-07-01 10:48 ` Wei Fang (OSS)
2026-06-30 7:20 ` [PATCH net-next 14/14] net: enetc: use kzalloc_flex() for enetc_psfp_gate allocation wei.fang
2026-07-01 7:51 ` sashiko-bot
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260701075116.0321D1F000E9@smtp.kernel.org \
--to=sashiko-bot@kernel.org \
--cc=Frank.Li@kernel.org \
--cc=imx@lists.linux.dev \
--cc=sashiko-reviews@lists.linux.dev \
--cc=wei.fang@oss.nxp.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox