Skip to content

Commit

Permalink
media: rga: fix possible memory leak in rga_probe
Browse files Browse the repository at this point in the history
[ Upstream commit a71eb60 ]

rga->m2m_dev needs to be freed when rga_probe fails.

Signed-off-by: Hangyu Hua <hbh25y@gmail.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
  • Loading branch information
HBh25Y authored and gregkh committed Jun 9, 2022
1 parent a343f92 commit b7bbca4
Showing 1 changed file with 4 additions and 2 deletions.
6 changes: 4 additions & 2 deletions drivers/media/platform/rockchip/rga/rga.c
Expand Up @@ -865,7 +865,7 @@ static int rga_probe(struct platform_device *pdev)

ret = pm_runtime_resume_and_get(rga->dev);
if (ret < 0)
goto rel_vdev;
goto rel_m2m;

rga->version.major = (rga_read(rga, RGA_VERSION_INFO) >> 24) & 0xFF;
rga->version.minor = (rga_read(rga, RGA_VERSION_INFO) >> 20) & 0x0F;
Expand All @@ -881,7 +881,7 @@ static int rga_probe(struct platform_device *pdev)
DMA_ATTR_WRITE_COMBINE);
if (!rga->cmdbuf_virt) {
ret = -ENOMEM;
goto rel_vdev;
goto rel_m2m;
}

rga->src_mmu_pages =
Expand Down Expand Up @@ -918,6 +918,8 @@ static int rga_probe(struct platform_device *pdev)
free_dma:
dma_free_attrs(rga->dev, RGA_CMDBUF_SIZE, rga->cmdbuf_virt,
rga->cmdbuf_phy, DMA_ATTR_WRITE_COMBINE);
rel_m2m:
v4l2_m2m_release(rga->m2m_dev);
rel_vdev:
video_device_release(vfd);
unreg_v4l2_dev:
Expand Down

0 comments on commit b7bbca4

Please sign in to comment.