Skip to contentSkip to conversation

mvumi: shift wrapping bug in mvumi_delete_internal_cmd()

PATCH New Dan Carpenter 1 participant 1 message Jan 30, 2015

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

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')
drivers/scsi/mvumi.c +1 -1
index 3e6b866..e7f5485 100644
@@ -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);