Re: [PATCH] FE_GET_PROPERTY should be _IOW, because the associatedstructure is transferred from userspace to kernelspace. Keep the old ioctlaround for compatibility so that existing code is not broken.
From: Mauro Carvalho Chehab
Date: Fri Jun 03 2011 - 09:55:52 EST
Em 03-06-2011 09:44, Andreas Oberritter escreveu:
> On 06/01/2011 11:15 PM, Mauro Carvalho Chehab wrote:
>> The dvb_usercopy will do the right thing, if we use _IOR or _IORW.
>
> It only works, because _IOC_READ triggers a copy_from_user, as a
> workaround for wrongly marked ioctls like this, according to a code
> comment. It does not really do the right thing, because in this special
> case the later call to copy_to_user isn't required. But it doesn't do
> any real harm either.
Yes, that's what I meant to say ;) The workaround for it is there already,
so maybe there are other ioctl's using the wrong _IOC_ directions.
As I said before, some ioctl's don't use _IOC_ directions, like for example
the tty ioctls like TIO* ones. This happens on several very old drivers.
So, ioctl core don't make any assumption about them. it is up to each driver
(or subsystem core) to handle it.
>> I prefer to not apply this patch, as it won't fix anything. Adding an _OLD means
>> that we'll need later to remove it, causing a regression. Ok, we may do like we did
>> with V4L _OLD ioctl's that were marked as _OLD at 2.6.5 and were removed on a late
>> 2.6.3x.
>
> Either way is fine for me.
I'm not against fixing it, but, in this case, we'll need to validate all DVB
ioctl's and remove the IOC_READ hack for all non-_OLD controls, and writing
a notice at features-to-be-removed announcing that the _OLD controls will be
removed.
Cheers,
Mauro.
>
> Regards,
> Andreas
> --
> 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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/