xfs-masters
[Top] [All Lists]

Re: [xfs-masters] RFC: Fix f_flags races without the BKL

To: Christoph Hellwig <hch@xxxxxx>
Subject: Re: [xfs-masters] RFC: Fix f_flags races without the BKL
From: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Date: Fri, 2 Jan 2009 18:27:57 +0000
Cc: Jonathan Corbet <corbet@xxxxxxx>, LKML <linux-kernel@xxxxxxxxxxxxxxx>, Oleg Nesterov <oleg@xxxxxxxxxx>, bfields@xxxxxxxxxxxx, xfs-masters@xxxxxxxxxxx, Andi Kleen <andi@xxxxxxxxxxxxxx>, Alan Cox <alan@xxxxxxxxxxxxxxxxxxx>
In-reply-to: <20081229125050.GA22909@xxxxxx>
References: <20081229041352.6bbdf57c@tpl> <20081229125050.GA22909@xxxxxx>
Sender: Al Viro <viro@xxxxxxxxxxxxxxxx>
User-agent: Mutt/1.5.17 (2007-11-01)
On Mon, Dec 29, 2008 at 01:50:50PM +0100, Christoph Hellwig wrote:
> On Mon, Dec 29, 2008 at 04:13:52AM -0700, Jonathan Corbet wrote:
> > Accesses to the f_flags field have always involved a read-modify-write
> > operation, and have always been racy in the absence of the BKL.  The recent
> > BKL-removal work made this problem worse, but it has been there for a very
> > long time.  The race is quite small, and, arguably, has never affected
> > anybody, but it's still worth fixing.
> > 
> > After pondering for a while, I couldn't come up with anything better than a
> > global file->f_flags mutex.  There's no point in bloating struct file with
> > a mutex just for this purpose; it's hard to imagine that there will be any
> > real contention for this lock.
> 
> What speaks against having on in fs_struct so that it's at least not
> globally serialized?

WTF?  References to struct file can be shared by tasks with different
associated fs_struct; how the devil can that ever work?

<Prev in Thread] Current Thread [Next in Thread>