Skip to content

Commit f0b8535

Browse files
Dan Carpentergregkh
authored andcommitted
media: imx-jpeg: Fix potential error pointer dereference in detach_pm()
commit 1378ffe upstream. The proble is on the first line: if (jpeg->pd_dev[i] && !pm_runtime_suspended(jpeg->pd_dev[i])) If jpeg->pd_dev[i] is an error pointer, then passing it to pm_runtime_suspended() will lead to an Oops. The other conditions check for both error pointers and NULL, but it would be more clear to use the IS_ERR_OR_NULL() check for that. Fixes: fd0af4c ("media: imx-jpeg: Ensure power suppliers be suspended before detach them") Cc: <stable@vger.kernel.org> Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org> Reviewed-by: Ming Qian <ming.qian@nxp.com> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
1 parent 1556b91 commit f0b8535

File tree

1 file changed

+4
-3
lines changed

1 file changed

+4
-3
lines changed

drivers/media/platform/nxp/imx-jpeg/mxc-jpeg.c

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2677,11 +2677,12 @@ static void mxc_jpeg_detach_pm_domains(struct mxc_jpeg_dev *jpeg)
26772677
int i;
26782678

26792679
for (i = 0; i < jpeg->num_domains; i++) {
2680-
if (jpeg->pd_dev[i] && !pm_runtime_suspended(jpeg->pd_dev[i]))
2680+
if (!IS_ERR_OR_NULL(jpeg->pd_dev[i]) &&
2681+
!pm_runtime_suspended(jpeg->pd_dev[i]))
26812682
pm_runtime_force_suspend(jpeg->pd_dev[i]);
2682-
if (jpeg->pd_link[i] && !IS_ERR(jpeg->pd_link[i]))
2683+
if (!IS_ERR_OR_NULL(jpeg->pd_link[i]))
26832684
device_link_del(jpeg->pd_link[i]);
2684-
if (jpeg->pd_dev[i] && !IS_ERR(jpeg->pd_dev[i]))
2685+
if (!IS_ERR_OR_NULL(jpeg->pd_dev[i]))
26852686
dev_pm_domain_detach(jpeg->pd_dev[i], true);
26862687
jpeg->pd_dev[i] = NULL;
26872688
jpeg->pd_link[i] = NULL;

0 commit comments

Comments
 (0)