Re: [GIT PULL FOR 3.6] V4L2 API cleanups

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Mauro,

On Thursday 05 July 2012 17:46:36 Mauro Carvalho Chehab wrote:
> Em 11-06-2012 06:39, Sakari Ailus escreveu:
> > On Mon, Jun 11, 2012 at 09:50:54AM +0200, Laurent Pinchart wrote:
> >> On Sunday 10 June 2012 23:22:59 Sakari Ailus wrote:
> >>> Hi Mauro,
> >>> 
> >>> Here are two V4L2 API cleanup patches; the first removes __user from
> >>> videodev2.h from a few places, making it possible to use the header file
> >>> as such in user space, while the second one changes the
> >>> v4l2_buffer.input field back to reserved.
> >>> 
> >>> The following changes since commit 
5472d3f17845c4398c6a510b46855820920c2181:
> >>>    [media] mt9m032: Implement V4L2_CID_PIXEL_RATE control (2012-05-24
> >>> 
> >>> 09:27:24 -0300)
> >>> 
> >>> are available in the git repository at:
> >>>    ssh://linuxtv.org/git/sailus/media_tree.git media-for-3.6
> >>> 
> >>> Sakari Ailus (2):
> >>>        v4l: Remove __user from interface structure definitions
> >> 
> >> NAK, sorry.
> >> 
> >> __user has a purpose, we need to add it where it's missing, not remove it
> >> where it's rightfully present.
> > 
> > It's not quite as simple as adding __user everywhere it might belong to
> > ---
> > these structs are being used in kernel space, too.
> 
> Only kernelspace see __user. The "make headers_install" target removes
> __user from the userspace copy.

The issue at hand is that the same structure is used as an ioctl argument 
(where __user annotation makes sense), but also inside the kernel after 
video_usercopy, where the user pointer fields then store a kernel pointer. We 
thus can't annotate the fields with __user unconditionally.

-- 
Regards,

Laurent Pinchart

--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux