[U-Boot] [PATCH v2 02/13] mmc: Fix signed shift overflow
Eugeniu Rosca
roscaeugeniu at gmail.com
Sun Aug 26 23:13:20 UTC 2018
Below is reproduced both with sandbox and R-Car Gen3 arm64 U-Boot:
===================================================================
UBSAN: Undefined behaviour in drivers/mmc/mmc.c:1147:21
left shift of 1 by 31 places cannot be represented in type 'int'
===================================================================
Fixes: 272cc70b211e ("Add MMC Framework")
Signed-off-by: Eugeniu Rosca <erosca at de.adit-jv.com>
---
Changes in v2:
- Shorten the summary line
---
drivers/mmc/mmc.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/mmc/mmc.c b/drivers/mmc/mmc.c
index ad429f49c992..447519f46f15 100644
--- a/drivers/mmc/mmc.c
+++ b/drivers/mmc/mmc.c
@@ -1136,7 +1136,7 @@ int mmc_getcd(struct mmc *mmc)
#endif
#if !CONFIG_IS_ENABLED(MMC_TINY)
-static int sd_switch(struct mmc *mmc, int mode, int group, u8 value, u8 *resp)
+static int sd_switch(struct mmc *mmc, uint mode, int group, u8 value, u8 *resp)
{
struct mmc_cmd cmd;
struct mmc_data data;
--
2.18.0
More information about the U-Boot
mailing list