Re: v4l & compat_ioctl

Andi Kleen
2008-03-28T11:34:46Z

On Fri, Mar 28, 2008 at 12:31:33PM +0100, Jiri Slaby wrote:
> On 03/28/2008 12:25 PM, Andi Kleen wrote:
> >However the new standard way to do this is to not
> >add new stuff into compat_ioctl.c, but define ->compat_ioctl
> >entry points in the low level drivers (and ideally converted
> >them to ->unlocked_ioctl too while you're at it)
>
> Andi, the problem here is, that v4l has only open in fops which in turn
> changes fops to the driver's one, so this would mean change all the drivers
> in v4l...

And? Are there that many? It's a simple mechanical operation.

> I second the converting to unlocked_ioctl and compat_ioctl in longer term
> (for new drivers as a merging rule), but wouldn't be feasible to add them
> to compat ioctl for now?

The problem with compat_ioctl is that it doesn't handle overlapping ioctl
ranges and that the compat code cannot be made modular (although if they
are compatible that is no big problem)

BTW i haven't audited them, but if there is u64 or similar in there anywhere
be careful about alignment.

-Andi