lkml.org 
[lkml]   [2021]   [Jul]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.13 451/800] net: stmmac: Fix potential integer overflow
    Date
    From: Wong Vee Khee <vee.khee.wong@linux.intel.com>

    [ Upstream commit 52e597d3e2e6e5bfce47559eb22b955ac17b3826 ]

    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>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/net/ethernet/stmicro/stmmac/stmmac.h | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac.h b/drivers/net/ethernet/stmicro/stmmac/stmmac.h
    index b6cd43eda7ac..8aa55612d094 100644
    --- a/drivers/net/ethernet/stmicro/stmmac/stmmac.h
    +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac.h
    @@ -75,7 +75,7 @@ struct stmmac_tx_queue {
    unsigned int cur_tx;
    unsigned int dirty_tx;
    dma_addr_t dma_tx_phy;
    - u32 tx_tail_addr;
    + dma_addr_t tx_tail_addr;
    u32 mss;
    };

    --
    2.30.2


    \
     
     \ /
      Last update: 2021-07-12 11:10    [W:2.503 / U:0.296 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site