From 0b5165ee1a91f0bbf5421de96cb6dd744cac72de Mon Sep 17 00:00:00 2001 From: Gauri Joshi Date: Mon, 19 Jul 2021 22:06:59 -0700 Subject: [PATCH] msm: mhi-dev: Check to avoid null pointer dereference If mhi is not enabled the channels ring remain uninitialized. The host might reset mhi which will result in device crash due to null pointer dereference for the channel ring. Check if the pointer is NULL before dereferencing it to avoid the crash. Change-Id: I582f9a8a6c9bdca8d5f57e1800b566cca389b830 Signed-off-by: Gauri Joshi --- drivers/platform/msm/mhi_dev/mhi.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/drivers/platform/msm/mhi_dev/mhi.c b/drivers/platform/msm/mhi_dev/mhi.c index b7662d475f95..94320c1377a6 100644 --- a/drivers/platform/msm/mhi_dev/mhi.c +++ b/drivers/platform/msm/mhi_dev/mhi.c @@ -2359,9 +2359,8 @@ static int mhi_dev_abort(struct mhi_dev *mhi) /* Hard stop all the channels */ for (ch_id = 0; ch_id < mhi->cfg.channels; ch_id++) { ring = &mhi->ring[ch_id + mhi->ch_ring_start]; - if (ring->state == RING_STATE_UINT) + if (!ring || ring->state == RING_STATE_UINT) continue; - ch = &mhi->ch[ch_id]; mutex_lock(&ch->ch_lock); mhi->ch[ch_id].state = MHI_DEV_CH_STOPPED;