[PATCH] usb: musb: Fix signed integer overflow
From: Siddarth Gundu
Date: Sat May 10 2025 - 17:12:38 EST
Shifting 1 << 31 on a 32-bit int causes signed integer overflow, which
leads to undefined behavior.
Cast 1 to u32 before performing the shift, eliminating the
undefined behavior.
Signed-off-by: Siddarth Gundu <siddarthsgml@xxxxxxxxx>
---
drivers/usb/musb/cppi_dma.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/usb/musb/cppi_dma.h b/drivers/usb/musb/cppi_dma.h
index 3606be897cb2..33bf5f83f08d 100644
--- a/drivers/usb/musb/cppi_dma.h
+++ b/drivers/usb/musb/cppi_dma.h
@@ -38,7 +38,7 @@ struct cppi_rx_stateram {
};
/* hw_options bits in CPPI buffer descriptors */
-#define CPPI_SOP_SET ((u32)(1 << 31))
+#define CPPI_SOP_SET ((u32)1 << 31)
#define CPPI_EOP_SET ((u32)(1 << 30))
#define CPPI_OWN_SET ((u32)(1 << 29)) /* owned by cppi */
#define CPPI_EOQ_MASK ((u32)(1 << 28))
@@ -48,7 +48,7 @@ struct cppi_rx_stateram {
#define CPPI_RECV_PKTLEN_MASK 0xFFFF
#define CPPI_BUFFER_LEN_MASK 0xFFFF
-#define CPPI_TEAR_READY ((u32)(1 << 31))
+#define CPPI_TEAR_READY ((u32)1 << 31)
/* CPPI data structure definitions */
--
2.43.0