mhi: core: Add checks for bhi and bhie offsets

Bail out if device returns invalid bhi/bhie offsets.

Change-Id: Ifc92c53a4c1f7c951721cbec0b1d7285cf19cd72
Signed-off-by: Manu Gautam <mgautam@codeaurora.org>
This commit is contained in:
Manu Gautam 2020-05-20 15:47:31 +05:30 • committed by Hemant Kumar
commit d279640225

View file

@ -968,6 +968,13 @@ int mhi_async_power_up(struct mhi_controller *mhi_cntrl)
goto error_bhi_offset;
}
if (val >= mhi_cntrl->len) {
ret = -ENODEV;
write_unlock_irq(&mhi_cntrl->pm_lock);
MHI_ERR("Invalid bhi offset:%x\n", val);
goto error_bhi_offset;
}
mhi_cntrl->bhi = mhi_cntrl->regs + val;
/* setup bhie offset if not set */
@ -979,6 +986,13 @@ int mhi_async_power_up(struct mhi_controller *mhi_cntrl)
goto error_bhi_offset;
}
if (val >= mhi_cntrl->len) {
ret = -ENODEV;
write_unlock_irq(&mhi_cntrl->pm_lock);
MHI_ERR("Invalid bhie offset:%x\n", val);
goto error_bhi_offset;
}
mhi_cntrl->bhie = mhi_cntrl->regs + val;
}