mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: ebiederm@xmission.com (Eric W. Biederman)
To: Christoph Hellwig <hch@infradead.org>
Cc: Andrew Morton <akpm@linux-foundation.org>, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] sysctl: Deprecate sys_sysctl in a user space visible fashion.
Date: Tue, 28 Aug 2007 17:53:53 -0600	[thread overview]
Message-ID: <m1r6lnb4ha.fsf@ebiederm.dsl.xmission.com> (raw)
In-Reply-To: <20070828230459.GA15937@infradead.org> (Christoph Hellwig's message of "Wed, 29 Aug 2007 00:04:59 +0100")

Christoph Hellwig <hch@infradead.org> writes:

> Umm, no way we're ever going to remove a syscall like this.  

If someone besides me cares about more then rhetoric I will be happy
to reconsider and several years is plenty of time to find that out.

I aborted the removal last time precisely because we had not done an
adequate job of warning our users.  A printk when we run a program
that uses the binary interface and an long enough interval the warning
makes it to the Enterprise kernels before we remove the interface
should be sufficient.

> stop this deprecration crap.  Just make sure no ones adds more binary
> sysctls.

The sysctl_check_table function should keep out most of the problem
cases and especially it should ensure we don't add any new binary
sysctls by accident. 

However given our atrocious record at catching these kinds of
problems via code review and testing and the fact that no one
uses these things anyway, I don't see an argument for keeping
dead code in the kernel.

Over the long term the goal is to not break user space binaries.

I see a better chance of achieving the goal of not breaking user space
binaries if we remove interfaces that no known user space applications
use, in a way a well written application can handle, then to let
the user space interface code succumb to bit rot, and start returning
the wrong values to user space.

That is where we are at with sys_sysctl.
Almost all of the binary paths have no known users and the
implementations are succumbing to bit rot.  The binary interface and
the proc interface go through two completely separate paths so there
is little to ensure those paths don't diverge over time.

It is also true that the non-generic helper functions are diverging
over time.  Currently these things are not an issue because no one
actually uses the binary interfaces.  The empirical evidence seems
overwhelming on this point.

So just freezing us at our current set of non-broken binary sysctls
does not seem sufficient to ensure we don't break user space binaries.
Although it does seem to be a good start.

Eric

  reply	other threads:[~2007-08-28 23:54 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-08-28 22:40 Eric W. Biederman
2007-08-28 23:04 ` Christoph Hellwig
2007-08-28 23:53   ` Eric W. Biederman [this message]
2007-08-29  1:31     ` H. Peter Anvin
2007-08-29  1:56       ` Eric W. Biederman
2007-08-29 10:46         ` Alan Cox
2007-08-29 17:16           ` Eric W. Biederman
2007-08-29 17:28             ` H. Peter Anvin
2007-08-29 19:00               ` Eric W. Biederman
2007-08-30 12:13                 ` Theodore Tso
2007-08-30 13:20             ` David Newall
2007-08-30 17:40               ` Eric W. Biederman
2007-08-29 22:51           ` Andrew Morton
2007-08-30 19:32       ` Rob Landley
2007-08-30 18:34         ` Christoph Hellwig
2007-08-30 18:57           ` Eric W. Biederman
2007-08-30 23:22           ` Rob Landley
2007-09-01 22:16         ` Andi Kleen
2007-09-02  8:44           ` Rob Landley
2007-09-02  8:54             ` H. Peter Anvin
2007-09-02 11:05               ` Rob Landley
2007-09-02 19:56                 ` Eric W. Biederman
2007-09-02 20:00                   ` Al Viro
2007-09-02 21:51                     ` Eric W. Biederman
2007-09-03  8:37                     ` Andi Kleen
2007-09-03  9:16                       ` Al Viro
2007-08-29  4:49   ` Andrew Morton
2007-08-30 18:56     ` Jan Engelhardt
2007-08-29  4:49 ` Andrew Morton
2007-08-29  5:24   ` Eric W. Biederman

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=m1r6lnb4ha.fsf@ebiederm.dsl.xmission.com \
    --to=ebiederm@xmission.com \
    --cc=akpm@linux-foundation.org \
    --cc=hch@infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

Powered by JetHome