Messages in this thread | | | Date | Fri, 03 Jun 2011 10:55:37 -0300 | From | Mauro Carvalho Chehab <> | Subject | Re: [PATCH] FE_GET_PROPERTY should be _IOW, because the associated structure is transferred from userspace to kernelspace. Keep the old ioctl around for compatibility so that existing code is not broken. |
| |
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@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html
| |