]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
net: stmmac: est: Fix GCL bounds checks
authorRohan G Thomas <rohan.g.thomas@altera.com>
Tue, 28 Oct 2025 03:18:45 +0000 (11:18 +0800)
committerJakub Kicinski <kuba@kernel.org>
Thu, 30 Oct 2025 01:49:24 +0000 (18:49 -0700)
Fix the bounds checks for the hw supported maximum GCL entry
count and gate interval time.

Fixes: b60189e0392f ("net: stmmac: Integrate EST with TAPRIO scheduler API")
Signed-off-by: Rohan G Thomas <rohan.g.thomas@altera.com>
Reviewed-by: Matthew Gerlach <matthew.gerlach@altera.com>
Link: https://patch.msgid.link/20251028-qbv-fixes-v4-3-26481c7634e3@altera.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/stmicro/stmmac/stmmac_tc.c

index 97e89a604abd7a01bb8e904c38f10716e0a911c1..3b4d4696afe96afe58e0c936429f51c22ae145be 100644 (file)
@@ -981,7 +981,7 @@ static int tc_taprio_configure(struct stmmac_priv *priv,
        if (qopt->cmd == TAPRIO_CMD_DESTROY)
                goto disable;
 
-       if (qopt->num_entries >= dep)
+       if (qopt->num_entries > dep)
                return -EINVAL;
        if (!qopt->cycle_time)
                return -ERANGE;
@@ -1012,7 +1012,7 @@ static int tc_taprio_configure(struct stmmac_priv *priv,
                s64 delta_ns = qopt->entries[i].interval;
                u32 gates = qopt->entries[i].gate_mask;
 
-               if (delta_ns > GENMASK(wid, 0))
+               if (delta_ns > GENMASK(wid - 1, 0))
                        return -ERANGE;
                if (gates > GENMASK(31 - wid, 0))
                        return -ERANGE;