summaryrefslogtreecommitdiffstats
path: root/drivers/mmc/host/dw_mmc-zx.c
diff options
context:
space:
mode:
authorShawn Lin <shawn.lin@rock-chips.com>2018-02-24 07:17:23 +0100
committerUlf Hansson <ulf.hansson@linaro.org>2018-02-27 15:12:25 +0100
commit0d84b9e5631d923744767dc6608672df906dd092 (patch)
tree7f732b668625b722255a00f1e8da4a20143e7274 /drivers/mmc/host/dw_mmc-zx.c
parentmmc: dw_mmc: Factor out dw_mci_init_slot_caps (diff)
downloadlinux-0d84b9e5631d923744767dc6608672df906dd092.tar.xz
linux-0d84b9e5631d923744767dc6608672df906dd092.zip
mmc: dw_mmc: Fix out-of-bounds access for slot's caps
Add num_caps field for dw_mci_drv_data to validate the controller id from DT alias and non-DT ways. Reported-by: Geert Uytterhoeven <geert+renesas@glider.be> Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com> Fixes: 800d78bfccb3 ("mmc: dw_mmc: add support for implementation specific callbacks") Cc: <stable@vger.kernel.org> Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Diffstat (limited to 'drivers/mmc/host/dw_mmc-zx.c')
-rw-r--r--drivers/mmc/host/dw_mmc-zx.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/mmc/host/dw_mmc-zx.c b/drivers/mmc/host/dw_mmc-zx.c
index d38e94ae2b85..c06b5393312f 100644
--- a/drivers/mmc/host/dw_mmc-zx.c
+++ b/drivers/mmc/host/dw_mmc-zx.c
@@ -195,6 +195,7 @@ static unsigned long zx_dwmmc_caps[3] = {
static const struct dw_mci_drv_data zx_drv_data = {
.caps = zx_dwmmc_caps,
+ .num_caps = ARRAY_SIZE(zx_dwmmc_caps),
.execute_tuning = dw_mci_zx_execute_tuning,
.prepare_hs400_tuning = dw_mci_zx_prepare_hs400_tuning,
.parse_dt = dw_mci_zx_parse_dt,