mirror of
https://github.com/torvalds/linux.git
synced 2024-12-05 18:41:23 +00:00
net: stmmac_tc: use 64-bit arithmetic instead of 32-bit
Add suffix UL to constant 1024 in order to give the compiler complete information about the proper arithmetic to use. Notice that this constant is used in a context that expects an expression of type u64 (64 bits, unsigned) and following expressions are currently being evaluated using 32-bit arithmetic: qopt->idleslope * 1024 * ptr qopt->hicredit * 1024 * 8 qopt->locredit * 1024 * 8 Addresses-Coverity-ID: 1470246 ("Unintentional integer overflow") Addresses-Coverity-ID: 1470248 ("Unintentional integer overflow") Addresses-Coverity-ID: 1470249 ("Unintentional integer overflow") Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com> Acked-by: Jose Abreu <joabreu@synopsys.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
00f553660a
commit
c18a9c0966
@ -321,7 +321,7 @@ static int tc_setup_cbs(struct stmmac_priv *priv,
|
||||
speed_div = (priv->speed == SPEED_100) ? 100000 : 1000000;
|
||||
|
||||
/* Final adjustments for HW */
|
||||
value = qopt->idleslope * 1024 * ptr;
|
||||
value = qopt->idleslope * 1024UL * ptr;
|
||||
do_div(value, speed_div);
|
||||
priv->plat->tx_queues_cfg[queue].idle_slope = value & GENMASK(31, 0);
|
||||
|
||||
@ -329,10 +329,10 @@ static int tc_setup_cbs(struct stmmac_priv *priv,
|
||||
do_div(value, speed_div);
|
||||
priv->plat->tx_queues_cfg[queue].send_slope = value & GENMASK(31, 0);
|
||||
|
||||
value = qopt->hicredit * 1024 * 8;
|
||||
value = qopt->hicredit * 1024UL * 8;
|
||||
priv->plat->tx_queues_cfg[queue].high_credit = value & GENMASK(31, 0);
|
||||
|
||||
value = qopt->locredit * 1024 * 8;
|
||||
value = qopt->locredit * 1024UL * 8;
|
||||
priv->plat->tx_queues_cfg[queue].low_credit = value & GENMASK(31, 0);
|
||||
|
||||
ret = stmmac_config_cbs(priv, priv->hw,
|
||||
|
Loading…
Reference in New Issue
Block a user