From: Arnd Bergmann Date: Mon, 27 Sep 2021 13:58:29 +0000 (+0200) Subject: net: stmmac: fix off-by-one error in sanity check X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=d68c2e1d19c540464ad12a8a11bdd88eedcaf3dc;p=linux.git net: stmmac: fix off-by-one error in sanity check My previous patch had an off-by-one error in the added sanity check, the arrays are MTL_MAX_{RX,TX}_QUEUES long, so if that index is that number, it has overflown. The patch silenced the warning anyway because the strings could no longer overlap with the input, but they could still overlap with other fields. Fixes: 3e0d5699a975 ("net: stmmac: fix gcc-10 -Wrestrict warning") Reported-by: Russell King (Oracle) Signed-off-by: Arnd Bergmann Signed-off-by: David S. Miller --- diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c index 640c0ffdff3d2..fd4c6517125e3 100644 --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c @@ -3502,7 +3502,7 @@ static int stmmac_request_irq_multi_msi(struct net_device *dev) /* Request Rx MSI irq */ for (i = 0; i < priv->plat->rx_queues_to_use; i++) { - if (i > MTL_MAX_RX_QUEUES) + if (i >= MTL_MAX_RX_QUEUES) break; if (priv->rx_irq[i] == 0) continue; @@ -3527,7 +3527,7 @@ static int stmmac_request_irq_multi_msi(struct net_device *dev) /* Request Tx MSI irq */ for (i = 0; i < priv->plat->tx_queues_to_use; i++) { - if (i > MTL_MAX_TX_QUEUES) + if (i >= MTL_MAX_TX_QUEUES) break; if (priv->tx_irq[i] == 0) continue;