[v2] bus: mhi: host: free buffer on error in mhi_alloc_bhie_table

Message ID 20240207134005.7515-1-pchelkin@ispras.ru
State New
Headers
Series [v2] bus: mhi: host: free buffer on error in mhi_alloc_bhie_table |

Commit Message

Fedor Pchelkin Feb. 7, 2024, 1:40 p.m. UTC
  img_info->mhi_buf should be freed on error path in mhi_alloc_bhie_table().
This error case is rare but still needs to be fixed.

Found by Linux Verification Center (linuxtesting.org).

Fixes: 3000f85b8f47 ("bus: mhi: core: Add support for basic PM operations")
Cc: stable@vger.kernel.org
Signed-off-by: Fedor Pchelkin <pchelkin@ispras.ru>
---
v2: add missing Cc: stable, as Greg Kroah-Hartman's bot reported

 drivers/bus/mhi/host/boot.c | 1 +
 1 file changed, 1 insertion(+)
  

Comments

Jeffrey Hugo Feb. 7, 2024, 6:09 p.m. UTC | #1
On 2/7/2024 6:40 AM, Fedor Pchelkin wrote:
> img_info->mhi_buf should be freed on error path in mhi_alloc_bhie_table().
> This error case is rare but still needs to be fixed.
> 
> Found by Linux Verification Center (linuxtesting.org).
> 
> Fixes: 3000f85b8f47 ("bus: mhi: core: Add support for basic PM operations")
> Cc: stable@vger.kernel.org
> Signed-off-by: Fedor Pchelkin <pchelkin@ispras.ru>

Reviewed-by: Jeffrey Hugo <quic_jhugo@quicinc.com>
  

Patch

diff --git a/drivers/bus/mhi/host/boot.c b/drivers/bus/mhi/host/boot.c
index edc0ec5a0933..738dcd11b66f 100644
--- a/drivers/bus/mhi/host/boot.c
+++ b/drivers/bus/mhi/host/boot.c
@@ -357,6 +357,7 @@  int mhi_alloc_bhie_table(struct mhi_controller *mhi_cntrl,
 	for (--i, --mhi_buf; i >= 0; i--, mhi_buf--)
 		dma_free_coherent(mhi_cntrl->cntrl_dev, mhi_buf->len,
 				  mhi_buf->buf, mhi_buf->dma_addr);
+	kfree(img_info->mhi_buf);
 
 error_alloc_mhi_buf:
 	kfree(img_info);