OSDN Git Service

net: stmmac: Fix potential integer overflow
authorWong Vee Khee <vee.khee.wong@linux.intel.com>
Fri, 11 Jun 2021 09:02:38 +0000 (17:02 +0800)
committerDavid S. Miller <davem@davemloft.net>
Fri, 11 Jun 2021 20:11:54 +0000 (13:11 -0700)
commit52e597d3e2e6e5bfce47559eb22b955ac17b3826
tree2b4e56399b84647003dcd5e2113ae8134a7cb765
parent8ee1a0eed16a221c7078848ac165d4d57dad8784
net: stmmac: Fix potential integer overflow

The commit d96febedfde2 ("net: stmmac: arrange Tx tail pointer update
to stmmac_flush_tx_descriptors") introduced the following coverity
warning:-

  1. Unintentional integer overflow (OVERFLOW_BEFORE_WIDEN)
     overflow_before_widen: Potentially overflowing expression
     'tx_q->cur_tx * desc_size' with type 'unsigned int' (32 bits,
     unsigned) is evaluated using 32-bit arithmetic, and then used in a
     context that expects an expression of type dma_addr_t (64 bits,
     unsigned).

Fixed this by assigning tx_tail_addr to dma_addr_t type, as dma_addr_t
datatype is decided by CONFIG_ARCH_DMA_ADDR_T_64_BIT.

Fixes: d96febedfde2 ("net: stmmac: arrange Tx tail pointer update to stmmac_flush_tx_descriptors")
Signed-off-by: Wong Vee Khee <vee.khee.wong@linux.intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/stmicro/stmmac/stmmac.h