Re: [PATCH 6/6] procfs: Kill the bkl in ioctl

From: Arnd Bergmann
Date: Tue Apr 13 2010 - 05:27:28 EST


On Monday 12 April 2010, Frederic Weisbecker wrote:
> On Mon, Apr 12, 2010 at 07:34:17PM +0200, Arnd Bergmann wrote:
> >
> > I think the rule set for the conversion needs to be one that can
> > be done purely based on the code. How about this:
> >
> > For each file operation {
> > if (uses f_pos) {
> > if (same module uses BKL)
> > -> default_llseek
> > else
> > -> generic_file_llseek
> > } else {
> > if (driver maintained)
> > -> no_llseek (with maintainer ACK)
> > else
> > -> noop_llseek
> > }
> > }
>
> It is also hard to determine a given driver really doesn't use
> the bkl. A sole lock_kernel() grep in its files is not sufficient.
> But a manual second pass should do the trick.

Why not? In my 2.6.33 based series, I have removed all implicit
uses of the BKL, so we can be sure that it doesn't use the BKL
unless the module is part of that series. The only two cases
I can think of are:

- ioctl callback, which we should do in the same change, like I
originally did. If a driver defines ->ioctl(), make it use
deprecated_ioctl() and default_llseek()/deprecated_llseek.

- Any of the file systems from Jan's series.

Arnd
--
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/