Hans Verkuil wrote:
> On the DVB side there seem to be only two sources that use the BKL:
>
> linux/drivers/media/dvb/bt8xx/dst_ca.c: lock_kernel();
> linux/drivers/media/dvb/bt8xx/dst_ca.c: unlock_kernel();
This is from an incomplete conversion from .ioctl to .unlocked_ioctl (no
conversion really, only a BKL push-down).
> linux/drivers/media/dvb/dvb-core/dvbdev.c: lock_kernel();
> linux/drivers/media/dvb/dvb-core/dvbdev.c: unlock_kernel();
> linux/drivers/media/dvb/dvb-core/dvbdev.c: unlock_kernel();
This is from when the BKL was pushed down into drivers' open() methods.
To remove BKL from open(), check for possible races with module
insertion. (A driver's module_init has to have set up everything that's
going to be used by open() before the char device is being registered.)
Apart from those two BKL uses in media/dvb/, there are also
- remaining .ioctl that need to be checked for possible concurrency
issues, then converted to .unlocked_ioctl,
- remaining .llseek uses (all implicit) which need to be checked
whether they should be no_llseek() (accompanied by nonseekable_open)
or generic_file_llseek() or default_llseek().
--
Stefan Richter
-=====-==-=- -=-- ----=
http://arcgraph.de/sr/
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html