mvumi: shift wrapping bug in mvumi_delete_internal_cmd()
Subsystems (2)
PATCH 1/1 mvumi: shift wrapping bug in mvumi_delete_internal_cmd()
"m_sg->baseaddr_h" is a u32. We shift it 32 bits before casting it to dma_addr_t so the cast is too late.
Fixes f0c568a478f0 ('[SCSI] mvumi: Add Marvell UMI driver')
Signed-off-by Dan Carpenter <[email protected]>
drivers/scsi/mvumi.c +1 -1
@@ -322,7 +322,7 @@ static void mvumi_delete_internal_cmd(struct mvumi_hba *mhba,sgd_getsz (mhba, m_sg, size); phy_addr = (dma_addr_t ) m_sg->baseaddr_l | - (dma_addr_t) ((m_sg->baseaddr_h <<16 ) <<16 ); + (((dma_addr_t )m_sg->baseaddr_h <<16 ) <<16 );pci_free_consistent (mhba->pdev, size, cmd->data_buf, phy_addr);