From: Hans de Goede Date: Mon, 29 May 2023 10:37:30 +0000 (+0100) Subject: media: atomisp: Add target validation to atomisp_subdev_set_selection() X-Git-Tag: v6.6.7~2421^2~54 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=566f6de6aa283be619e870fae175404b447cdee1;p=platform%2Fkernel%2Flinux-starfive.git media: atomisp: Add target validation to atomisp_subdev_set_selection() As the 2 comments in the function already say both the sink and the source pads only support setting the selection for 1 target: /* Only crop target supported on sink pad. */ /* Only compose target is supported on source pads. */ Validate that the passed in target actually matches these expectations. Link: https://lore.kernel.org/r/20230529103741.11904-11-hdegoede@redhat.com Signed-off-by: Hans de Goede Reviewed-by: Andy Shevchenko Signed-off-by: Mauro Carvalho Chehab --- diff --git a/drivers/staging/media/atomisp/pci/atomisp_subdev.c b/drivers/staging/media/atomisp/pci/atomisp_subdev.c index 7985a03..04e257e 100644 --- a/drivers/staging/media/atomisp/pci/atomisp_subdev.c +++ b/drivers/staging/media/atomisp/pci/atomisp_subdev.c @@ -360,6 +360,10 @@ int atomisp_subdev_set_selection(struct v4l2_subdev *sd, unsigned int padding_w = pad_w; unsigned int padding_h = pad_h; + if ((pad == ATOMISP_SUBDEV_PAD_SINK && target != V4L2_SEL_TGT_CROP) || + (pad == ATOMISP_SUBDEV_PAD_SOURCE && target != V4L2_SEL_TGT_COMPOSE)) + return -EINVAL; + isp_get_fmt_rect(sd, sd_state, which, ffmt, crop, comp); dev_dbg(isp->dev,