lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20090416235649.GF26366@ZenIV.linux.org.uk>
Date:	Fri, 17 Apr 2009 00:56:49 +0100
From:	Al Viro <viro@...IV.linux.org.uk>
To:	Ingo Molnar <mingo@...e.hu>
Cc:	Alessio Igor Bogani <abogani@...ware.it>,
	Alexander Viro <viro@....linux.org.uk>,
	Frederic Weisbecker <fweisbec@...il.com>,
	Peter Zijlstra <a.p.zijlstra@...llo.nl>,
	LKML <linux-kernel@...r.kernel.org>,
	Jonathan Corbet <corbet@....net>
Subject: Re: [PATCH -tip] remove the BKL: Replace BKL in mount/umount
	syscalls with a mutex

On Thu, Apr 16, 2009 at 06:06:45PM +0200, Ingo Molnar wrote:
> 
> * Alessio Igor Bogani <abogani@...ware.it> wrote:
> 
> > Replace ths BKL in sys_mount()/sys_umount() syscalls with a regular mutex.
> > 
> > Signed-off-by: Alessio Igor Bogani <abogani@...ware.it>
> > ---
> >  fs/namespace.c |   16 +++++++++-------
> >  fs/super.c     |    9 ++++-----
> >  2 files changed, 13 insertions(+), 12 deletions(-)
> 
> Ok, this patch needs to be flamed^W commented on by Al.
> 
> Al: this patch is very likely broken as i cannot imagine you leaving 
> the BKL there just so. So lets accept that (and your NAK) as a given 
> and not get upset about it too much.

NAK is certainly given.  Dealing with force-umount is laughable - there
are so few instances, that we simply ought to take (all two? of) them
individually.

remount is potentially nastier, but then it *is* nasty.  Again, it's only
per-fs stuff, so the obvious first step is taking BKL down into the instances.
It doesn't protect anything in VFS; all uses are fs internal, so that'll
take review of individual filesystems.

NOTE: do not assume that code in fs/foo/* is correct; "it doesn't take BKL
elsewhere" does _not_ mean that we don't have races.  IOW, the same review
ought to look for such beasts and deal with them.  Mere "oh, no BKL anywhere
in that fs" is not enough to discard the ->remount_fs() instance.
 
> I'm wondering how much the BKL use here is made necessary by the 
> sys_open() BKL use in device drivers. Jonathan has done extensive 
> work on the sys_open front (and there's more such work in 
> tip:core/kill-the-BKL) - perhaps that has largely paved the way for 
> this change?
> 
> There's also ioctl BKL use - is the BKL use here in sys_mount 
> necessiated by the (naked) BKL use in those handlers?

No.  It's all about fs internals protected from themselves.  ->remount_fs()
tends to be grotty shite, so nobody had enough courage to do proper review
and fixes.  And it's not a place where we would really suffer from contention,
so it didn't get high priority that way either.
--
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

Powered by Openwall GNU/*/Linux Powered by OpenVZ