From: ebiederm@xmission.com (Eric W. Biederman)
To: "H. Peter Anvin" <hpa@zytor.com>
Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>,
Christoph Hellwig <hch@infradead.org>,
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: Wed, 29 Aug 2007 13:00:07 -0600 [thread overview]
Message-ID: <m18x7u4154.fsf@ebiederm.dsl.xmission.com> (raw)
In-Reply-To: <46D5ACA1.3090503@zytor.com> (H. Peter Anvin's message of "Wed, 29 Aug 2007 10:28:01 -0700")
"H. Peter Anvin" <hpa@zytor.com> writes:
> Eric W. Biederman wrote:
>>
>> My hypothesis. No one cares now.
>>
>> My observation. The way we have been maintaining the binary sysctl
>> side of things using it is asking for your application to be broken in
>> subtle and nasty ways.
>>
>
> I suspect the right thing to do is simply to make a list of the supported binary
> sysctls, and automatically verify those numbers. Doing that would alleviate
> these concerns, wouldn't break anything, and isn't really that hard to do.
Well the list is currently 1200 lines long, with wild cards in it.
See sysctl_check.c in the -mm tree. I think I have finally found
all of the binary sysctl numbers that are currently in use but I may
have missed something. Although that can probably be trimmed a bit
now that a number of those sysctls have been identified as impossibly
and always broken
The real problem is that sysctl uses different functions for the
binary path and the proc path. Those functions return the same
data in two different forms. When those functions diverge we
have problems. As I recently found with about 42 of the netfilter
sysctls.
The concern is that no one uses these things so no one tests these
things, and no one complains about these things so the code bit rots.
When the code bit rots we can return the wrong value or set the
wrong value in the kernel or skip locking or skip permission checks
or various other nasty things.
Hmm. Thinking about it I guess so far I have found about 10% of
the binary sysctls to have actual implementation problems. Not my
idea of well maintained code.
Eric
next prev parent reply other threads:[~2007-08-29 19:00 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-08-28 22:40 [PATCH] sysctl: Deprecate sys_sysctl in a user space visible fashion Eric W. Biederman
2007-08-28 23:04 ` Christoph Hellwig
2007-08-28 23:53 ` Eric W. Biederman
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 [this message]
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=m18x7u4154.fsf@ebiederm.dsl.xmission.com \
--to=ebiederm@xmission.com \
--cc=akpm@linux-foundation.org \
--cc=alan@lxorguk.ukuu.org.uk \
--cc=hch@infradead.org \
--cc=hpa@zytor.com \
--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