From: Sergey Senozhatsky <senozhatsky@chromium.org>
To: Tomasz Figa <tfiga@chromium.org>
Cc: Sergey Senozhatsky <senozhatsky@chromium.org>,
Ricardo Ribalda <ribalda@chromium.org>,
Laurent Pinchart <laurent.pinchart@ideasonboard.com>,
Mauro Carvalho Chehab <mchehab@kernel.org>,
Hans Verkuil <hverkuil-cisco@xs4all.nl>,
Linux Media Mailing List <linux-media@vger.kernel.org>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: [PATCHv3 5/6] media: uvcvideo: add UVC 1.5 ROI control
Date: Wed, 24 Mar 2021 11:31:06 +0900 [thread overview]
Message-ID: <YFqkaumASvjrYP/n@google.com> (raw)
In-Reply-To: <CAAFQd5DaDZA8==HPrL1v1M=1a5g3DgY58nuq7KnA8USQ6UuiTQ@mail.gmail.com>
On (21/03/24 11:14), Tomasz Figa wrote:
> > > > +static int uvc_ioctl_s_roi(struct file *file, void *fh,
> > > > + struct v4l2_selection *sel)
> > > > +{
> > > > + struct uvc_fh *handle = fh;
> > > > + struct uvc_streaming *stream = handle->stream;
> > > > + struct uvc_roi_rect *roi;
> > > > + int ret;
> > > > +
> > > > + if (!validate_roi_bounds(stream, sel))
> > > > + return -E2BIG;
> > >
> > > Not sure if this is the correct approach or if we should convert the
> > > value to the closest valid...
> >
> > Well, at this point we know that ROI rectangle dimensions are out of
> > sane value range. I'd rather tell user-space about integer overflow.
>
> Adjusting the rectangle to something supported by the hardware is
> mentioned explicitly in the V4L2 API documentation and is what drivers
> have to implement. Returning an error on invalid value is not a
> correct behavior here (and similarly for many other operations, e.g.
> S_FMT).
Well, in this particular case we are talking about user-space that wants
to set ROI rectangle that is knowingly violates device's GET_MAX and
overflows UVC ROI rectangle u16 value range. That's a clear bug in user-space.
Do we want to pretend that user-space does the correct thing and fixup
stuff behind the scenes?
> > Looking for the closest ROI rectangle that suffice can be rather
> > tricky. It may sounds like we can just use BOUNDARIES_MAX, but this
> > is what Firmware D returns for GET_MAX
> >
> > ioctl(V4L2_SEL_TGT_ROI_BOUNDS_MAX)
> >
> > 0, 0, 65535, 65535
>
> Perhaps the frame size would be the correct bounds?
I can check that.
next prev parent reply other threads:[~2021-03-24 2:32 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-03-19 5:53 [PATCHv3 0/6] media: uvcvideo: implement UVC 1.5 ROI Sergey Senozhatsky
2021-03-19 5:53 ` [PATCHv3 1/6] media: v4l UAPI: add ROI selection targets Sergey Senozhatsky
2021-03-19 5:53 ` [PATCHv3 2/6] media: v4l UAPI: document " Sergey Senozhatsky
2021-03-23 16:05 ` Ricardo Ribalda
2021-03-19 5:53 ` [PATCHv3 3/6] media: v4l UAPI: add ROI auto-controls flags Sergey Senozhatsky
2021-03-23 16:04 ` Ricardo Ribalda
2021-03-24 2:22 ` Sergey Senozhatsky
2021-03-24 7:28 ` Ricardo Ribalda
2021-03-24 7:35 ` Sergey Senozhatsky
2021-03-19 5:53 ` [PATCHv3 4/6] media: v4l UAPI: document " Sergey Senozhatsky
2021-03-19 5:53 ` [PATCHv3 5/6] media: uvcvideo: add UVC 1.5 ROI control Sergey Senozhatsky
2021-03-23 16:16 ` Ricardo Ribalda
2021-03-24 2:01 ` Sergey Senozhatsky
2021-03-24 2:14 ` Tomasz Figa
2021-03-24 2:31 ` Sergey Senozhatsky [this message]
2021-03-24 2:34 ` Tomasz Figa
2021-03-24 2:52 ` Sergey Senozhatsky
2021-03-24 3:00 ` Tomasz Figa
2021-03-24 3:05 ` Sergey Senozhatsky
2021-03-24 3:08 ` Sergey Senozhatsky
2021-03-19 5:53 ` [PATCHv3 6/6] MAINTAINERS: update Senozhatsky email address Sergey Senozhatsky
2021-03-19 5:56 ` Sergey Senozhatsky
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=YFqkaumASvjrYP/n@google.com \
--to=senozhatsky@chromium.org \
--cc=hverkuil-cisco@xs4all.nl \
--cc=laurent.pinchart@ideasonboard.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-media@vger.kernel.org \
--cc=mchehab@kernel.org \
--cc=ribalda@chromium.org \
--cc=tfiga@chromium.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.