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: <alpine.LFD.0.999.0708310055010.25853@woody.linux-foundation.org>
Date:	Fri, 31 Aug 2007 01:07:56 -0700 (PDT)
From:	Linus Torvalds <torvalds@...ux-foundation.org>
To:	Jakob Oestergaard <jakob@...hought.net>
cc:	Trond Myklebust <trond.myklebust@....uio.no>,
	Frank van Maarseveen <frankvm@...nkvm.com>,
	Hua Zhong <hzhong@...il.com>,
	"'Linux Kernel Mailing List'" <linux-kernel@...r.kernel.org>,
	akpm@...ux-foundation.org
Subject: Re: recent nfs change causes autofs regression



On Fri, 31 Aug 2007, Jakob Oestergaard wrote:
> 
> Trond has a point Linus.

I don't dispute that the new code does somethign good.

But it changes existing behaviour.

When we add NEW BEHAVIOUR, we don't add it to old interfaces when that 
breaks old user mode! We add a new flag saying "I want the new behaviour".

This is not rocket science, guys. This is very basic kernel behaviour. The 
kernel exists only to serve user space, and that means that there is no 
more important thing to do than to make sure you don't break existing 
users, unless you have some *damns* strong reasons.

> What he "broke" is, for example, a ro mount being mounted as rw.

No. What he broke was a working and sane setup.

The fact that he may *also* have broken insane setups is totally 
irrelevant. Don't go off on some tangent that has nothing to do with the 
regression in question!

> If ext3 in some rare case (which would still mean it hit a few thousand users)
> failed to remember that a file had been marked read-only and allowed writes to
> it, wouldn't we want to fix that too?  It would cause regressions, but we'd fix
> it, right?

Stop blathering. Of course we fix security holes. But we don't break 
things that don't need breaking. This wasn't a security hole.

You are making up irrelevant arguments that have nothing to do with this 
regression.

If you want new behaviour, you add a new flag saying you want new 
behaviour. You don't just start behaving differently from what you've 
always done before (and what *other* UNIXes do, for that matter).

Besides, even *if* it was a matter of somebody doing a mount with "rw", 
when the previous mount was "ro", returning EBUSY is still the wrong thing 
to do! If the user asks for a new mount that is read-write, he should just 
get it - ie we should not re-use the old client handles, and we should do 
what Solaris apparently does, namely to just make it a totally different 
mount.

In other words, it should (as I already mentioned once) have used 
"nosharecache" by default, which makes it all work.

Then, people who want to re-use the caches (which in turn may mean that 
everything needs to have the same flags), THOSE PEOPLE, who want the NEW 
SEMANTICS (errors and all) should then use a "sharecache" flag.

See? You don't have to screw people over.

> mount passes back the error code on a failed mount. autofs passes that error
> along too (when people configure syslog correctly). In short; when these
> serious mistakes are made and caught, the admin sees an error in his logs.

Bullshit. "Seeing the error in his logs" doesn't help anything. The 
problem wasn't the lack of error, the problem was that it was a new and 
unnecessary error in the first place. Logging it doesn't make it any less 
buggy.

			Linus
-
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