Re: [PATCH] net: bcmgenet: fix mask check in bcmgenet_validate_flow()

From: Doug Berger
Date: Wed Sep 02 2020 - 13:50:47 EST


On 9/2/2020 4:18 AM, Denis Efremov wrote:
> VALIDATE_MASK(eth_mask->h_source) is checked twice in a row in
> bcmgenet_validate_flow(). Add VALIDATE_MASK(eth_mask->h_dest)
> instead.
>
> Fixes: 3e370952287c ("net: bcmgenet: add support for ethtool rxnfc flows")
> Cc: stable@xxxxxxxxxxxxxxx
> Signed-off-by: Denis Efremov <efremov@xxxxxxxxx>
> ---
> I'm not sure that h_dest check is required here, it's only my guess.
> Compile tested only.
>
> drivers/net/ethernet/broadcom/genet/bcmgenet.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/net/ethernet/broadcom/genet/bcmgenet.c b/drivers/net/ethernet/broadcom/genet/bcmgenet.c
> index 0ca8436d2e9d..be85dad2e3bc 100644
> --- a/drivers/net/ethernet/broadcom/genet/bcmgenet.c
> +++ b/drivers/net/ethernet/broadcom/genet/bcmgenet.c
> @@ -1364,7 +1364,7 @@ static int bcmgenet_validate_flow(struct net_device *dev,
> case ETHER_FLOW:
> eth_mask = &cmd->fs.m_u.ether_spec;
> /* don't allow mask which isn't valid */
> - if (VALIDATE_MASK(eth_mask->h_source) ||
> + if (VALIDATE_MASK(eth_mask->h_dest) ||
> VALIDATE_MASK(eth_mask->h_source) ||
> VALIDATE_MASK(eth_mask->h_proto)) {
> netdev_err(dev, "rxnfc: Unsupported mask\n");
>
Well spotted. Thanks!

Acked-by: Doug Berger <opendmb@xxxxxxxxx>