[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <201004131126.27482.arnd@arndb.de>
Date: Tue, 13 Apr 2010 11:26:27 +0200
From: Arnd Bergmann <arnd@...db.de>
To: Frederic Weisbecker <fweisbec@...il.com>
Cc: Christoph Hellwig <hch@...radead.org>,
Stefan Richter <stefanr@...6.in-berlin.de>,
Alexey Dobriyan <adobriyan@...il.com>,
LKML <linux-kernel@...r.kernel.org>,
Thomas Gleixner <tglx@...utronix.de>,
Andrew Morton <akpm@...ux-foundation.org>,
John Kacur <jkacur@...hat.com>,
KAMEZAWA Hiroyuki <kamezawa.hiroyu@...fujitsu.com>,
Al Viro <viro@...iv.linux.org.uk>, Ingo Molnar <mingo@...e.hu>
Subject: Re: [PATCH 6/6] procfs: Kill the bkl in ioctl
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@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists