net: enetc: check the index of the SFI rather than the handle
authorWei Fang <wei.fang@nxp.com>
Thu, 4 May 2023 08:03:59 +0000 (16:03 +0800)
committerDavid S. Miller <davem@davemloft.net>
Fri, 5 May 2023 08:32:36 +0000 (09:32 +0100)
We should check whether the current SFI (Stream Filter Instance) table
is full before creating a new SFI entry. However, the previous logic
checks the handle by mistake and might lead to unpredictable behavior.

Fixes: 888ae5a3952b ("net: enetc: add tc flower psfp offload driver")
Signed-off-by: Wei Fang <wei.fang@nxp.com>
Reviewed-by: Leon Romanovsky <leonro@nvidia.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/freescale/enetc/enetc_qos.c

index 130ebf6853e61e6641675fb9ee6216c31e40b35d..83c27bbbc6edffa294d9f20618583622aeb031e2 100644 (file)
@@ -1247,7 +1247,7 @@ static int enetc_psfp_parse_clsflower(struct enetc_ndev_priv *priv,
                int index;
 
                index = enetc_get_free_index(priv);
-               if (sfi->handle < 0) {
+               if (index < 0) {
                        NL_SET_ERR_MSG_MOD(extack, "No Stream Filter resource!");
                        err = -ENOSPC;
                        goto free_fmi;