mmc: dw_mmc-k3: Fix out-of-bounds access through DT alias

The hs_timing_cfg[] array is indexed using a value derived from the
"mshcN" alias in DT, which may lead to an out-of-bounds access.

Fix this by adding a range check.

Fixes: 361c7fe9b0 ("mmc: dw_mmc-k3: add sd support for hi3660")
Signed-off-by: Geert Uytterhoeven <[email protected]>
Reviewed-by: Shawn Lin <[email protected]>
Cc: <[email protected]>
Signed-off-by: Ulf Hansson <[email protected]>
This commit is contained in:
Geert Uytterhoeven 2018-02-23 13:44:19 +01:00 • committed by Ulf Hansson
commit 325501d936

View file

@ -135,6 +135,9 @@ static int dw_mci_hi6220_parse_dt(struct dw_mci *host)
if (priv->ctrl_id < 0)
priv->ctrl_id = 0;
if (priv->ctrl_id >= TIMING_MODE)
return -EINVAL;
host->priv = priv;
return 0;
}