LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
From: ebiederm@xmission.com (Eric W. Biederman)
To: Ingo Molnar <mingo@elte.hu>
Cc: Alexey Dobriyan <adobriyan@gmail.com>,
	linux-kernel@vger.kernel.org,
	Andrew Morton <akpm@linux-foundation.org>,
	Adrian Bunk <bunk@stusta.de>,
	Alexander Viro <viro@ftp.linux.org.uk>
Subject: Re: [PATCH 58/59] sysctl: Reimplement the sysctl proc support
Date: Wed, 14 Mar 2007 07:34:30 -0600	[thread overview]
Message-ID: <m1ejnsq789.fsf@ebiederm.dsl.xmission.com> (raw)
In-Reply-To: <20070314122453.GA5775@elte.hu> (Ingo Molnar's message of "Wed, 14 Mar 2007 13:24:53 +0100")

Ingo Molnar <mingo@elte.hu> writes:

> * Alexey Dobriyan <adobriyan@gmail.com> wrote:
>
>> On 3/14/07, Ingo Molnar <mingo@elte.hu> wrote:
>> > #define PROCNAME_PML    "sys/kernel/preempt_max_latency"
>> >
>> > static __init int latency_fs_init(void)
>> > {
>> >         struct proc_dir_entry *entry;
>> >
>> >         if (!(entry = create_proc_entry(PROCNAME_PML, 0644, NULL)))
>> >                 printk("latency_fs_init(): can't create %s\n",
>> >PROCNAME_PML);
>> >
>> > with your change that broke because beyond /proc/sys/ there are no 
>> > real proc entries anymore, there's no de->subdir directory for 
>> > xlate_proc_name() to find. While the latency tracer isnt upstream, 
>> > this change in semantics does not seem to be intended (the changelog 
>> > is certainly silent about it).
>> 
>> Use register_sysctl_table() for sysctls.
>
> yes - i just wanted to point out the incompatibility and subtle breakage 
> that this change caused. I'll now have to convert the current code over 
> to sysctl_table, which isnt that hard but not trivial either, and i 
> certainly could make use that time for other purposes.

Sorry, for the inconvenience.

However it has always been a bug for anything under /proc/sys to not
be a sysctl.   It's not subtle breakage but subtle enforcement of the
existing rules.

The fact that code that now tries to break the rules fails I see as an
unanticipated bonus, because it means someone won't have to  go back
through and fix it after the code has been merged.

As far as I can tell it was really only out of tree code that suffered
from the misconception that /proc/sys was for something other than
sysctls.  The only case I recall fixing in the kernel was the mount
point for binfmt_misc and that was just directories, and easy to
convert.

This is the second time someone with out of tree code has asked me
about it though.   It may be worth adding a test to create_proc_entry
that says "you silly person you need to use sysctls to create an entry
under /proc/sys"

Eric

  reply	other threads:[~2007-03-14 13:36 UTC|newest]

Thread overview: 104+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-01-16 16:33 [PATCH 0/59] Cleanup sysctl Eric W. Biederman
2007-01-16 16:39 ` [PATCH 1/59] sysctl x25: Remove unnecessary insert_at_head from register_sysctl_table Eric W. Biederman
2007-01-16 16:39 ` [PATCH 2/59] sysctl: Move CTL_SUNRPC to sysctl.h where it belongs Eric W. Biederman
2007-01-16 16:39 ` [PATCH 3/59] sysctl: sunrpc Remove unnecessary insert_at_head flag Eric W. Biederman
2007-01-16 16:39 ` [PATCH 4/59] sysctl: sunrpc Don't unnecessarily set ctl_table->de Eric W. Biederman
2007-01-16 16:39 ` [PATCH 5/59] sysctl: rose remove unnecessary insert_at_head flag Eric W. Biederman
2007-01-16 17:36   ` Ralf Baechle
2007-01-16 16:39 ` [PATCH 6/59] sysctl: netrom " Eric W. Biederman
2007-01-16 16:39 ` [PATCH 7/59] sysctl: llc " Eric W. Biederman
2007-01-16 16:39 ` [PATCH 8/59] sysctl: ipx " Eric W. Biederman
2007-01-16 16:39 ` [PATCH 9/59] sysctl: decnet " Eric W. Biederman
2007-01-16 16:39 ` [PATCH 10/59] sysctl: dccp " Eric W. Biederman
2007-01-16 16:39 ` [PATCH 11/59] sysctl: ax25 " Eric W. Biederman
2007-01-16 16:39 ` [PATCH 12/59] sysctl: atalk " Eric W. Biederman
2007-01-16 16:39 ` [PATCH 13/59] sysctl: xfs " Eric W. Biederman
2007-01-16 16:39 ` [PATCH 14/59] sysctl: C99 convert xfs ctl_tables Eric W. Biederman
2007-01-16 18:16   ` Alexey Dobriyan
2007-01-16 18:37     ` Eric W. Biederman
2007-01-16 18:45     ` [PATCH] sysctl: fixes for my C99 converion " Eric W. Biederman
2007-01-17 17:01   ` [PATCH 14/59] sysctl: C99 convert " Kirill Korotaev
2007-01-17 17:37   ` [xfs-masters] " Eric Sandeen
2007-01-16 16:39 ` [PATCH 15/59] sysctl: scsi remove unnecessary insert_at_head flag Eric W. Biederman
2007-01-16 16:39 ` [PATCH 16/59] sysctl: md Remove " Eric W. Biederman
2007-01-16 16:39 ` [PATCH 17/59] sysctl: mac_hid remove " Eric W. Biederman
2007-01-16 16:39 ` [PATCH 18/59] sysctl: ipmi " Eric W. Biederman
2007-01-17  3:14   ` Benjamin Herrenschmidt
2007-01-16 16:39 ` [PATCH 19/59] sysctl: cdrom " Eric W. Biederman
2007-01-16 16:39 ` [PATCH 20/59] sysctl: cdrom Don't set de->owner Eric W. Biederman
2007-01-16 18:19   ` James Bottomley
2007-01-16 16:39 ` [PATCH 21/59] sysctl: Move CTL_PM into sysctl.h where it belongs Eric W. Biederman
2007-01-16 16:39 ` [PATCH 22/59] sysctl: frv pm remove unnecessary insert_at_head flag Eric W. Biederman
2007-01-16 16:39 ` [PATCH 23/59] sysctl: Move CTL_FRV into sysctl.h where it belongs Eric W. Biederman
2007-01-16 16:39 ` [PATCH 24/59] sysctl: frv remove unnecessary insert_at_head flag Eric W. Biederman
2007-01-16 16:39 ` [PATCH 25/59] sysctl: C99 convert arch/frv/kernel/pm.c Eric W. Biederman
2007-01-17 17:14   ` Kirill Korotaev
2007-01-22 22:21     ` Herbert Poetzl
2007-01-24  9:00     ` David Howells
2007-01-16 16:39 ` [PATCH 26/59] sysctl: C99 convert arch/frv/kernel/sysctl.c Eric W. Biederman
2007-01-16 16:39 ` [PATCH 27/59] sysctl: sn Remove sysctl ABI BREAKAGE Eric W. Biederman
2007-01-16 16:39 ` [PATCH 28/59] sysctl: C99 Convert arch/ia64/sn/kernel/xpc_main.c Eric W. Biederman
2007-01-16 16:39 ` [PATCH 29/59] sysctl: C99 convert arch/ia64/kernel/perfmon and remove ABI breakage Eric W. Biederman
2007-01-16 16:39 ` [PATCH 30/59] sysctl: mips/au1000 Remove sys_sysctl support Eric W. Biederman
2007-01-16 16:39 ` [PATCH 31/59] sysctl: C99 convert the ctl_tables in arch/mips/au1000/common/power.c Eric W. Biederman
2007-01-16 22:20   ` Ingo Oeser
2007-01-16 16:39 ` [PATCH 32/59] sysctl: C99 convert arch/mips/lasat/sysctl.c and remove ABI breakage Eric W. Biederman
2007-01-16 16:39 ` [PATCH 33/59] sysctl: s390 move sysctl definitions to sysctl.h Eric W. Biederman
2007-01-17 17:23   ` Kirill Korotaev
2007-01-16 16:39 ` [PATCH 34/59] sysctl: s390 Remove unnecessary use of insert_at_head Eric W. Biederman
2007-01-16 16:39 ` [PATCH 35/59] sysctl: C99 convert ctl_tables in arch/powerpc/kernel/idle.c Eric W. Biederman
2007-01-17  3:16   ` Benjamin Herrenschmidt
2007-01-16 16:39 ` [PATCH 36/59] sysctl: C99 convert ctl_tables entries in arch/ppc/kernel/ppc_htab.c Eric W. Biederman
2007-01-17  3:16   ` Benjamin Herrenschmidt
2007-01-16 16:39 ` [PATCH 37/59] sysctl: C99 convert arch/sh64/kernel/traps.c and remove ABI breakage Eric W. Biederman
2007-01-16 22:07   ` Paul Mundt
2007-01-16 16:39 ` [PATCH 38/59] sysctl: x86_64 Remove unnecessary use of insert_at_head Eric W. Biederman
2007-01-16 16:39 ` [PATCH 39/59] sysctl: C99 convert ctl_tables in arch/x86_64/ia32/ia32_binfmt.c Eric W. Biederman
2007-01-16 16:39 ` [PATCH 40/59] sysctl: C99 convert ctl_tables in arch/x86_64/kernel/vsyscall.c Eric W. Biederman
2007-01-16 16:39 ` [PATCH 41/59] sysctl: C99 convert ctl_tables in arch/x86_64/mm/init.c Eric W. Biederman
2007-01-16 16:39 ` [PATCH 42/59] sysctl: Remove sys_sysctl support from the hpet timer driver Eric W. Biederman
2007-01-17  7:54   ` Clemens Ladisch
2007-01-16 16:39 ` [PATCH 43/59] sysctl: Remove sys_sysctl support from drivers/char/rtc.c Eric W. Biederman
2007-01-16 16:39 ` [PATCH 44/59] sysctl: Register the sysctl number used by the arlan driver Eric W. Biederman
2007-01-16 16:39 ` [PATCH 45/59] sysctl: C99 convert ctl_tables in drivers/parport/procfs.c Eric W. Biederman
2007-01-16 22:15   ` Ingo Oeser
2007-01-16 23:00     ` Eric W. Biederman
2007-01-16 16:39 ` [PATCH 46/59] sysctl: C99 convert coda ctl_tables and remove binary sysctls Eric W. Biederman
2007-01-16 16:39 ` [PATCH 47/59] sysctl: C99 convert ctl_tables in NTFS and remove sys_sysctl support Eric W. Biederman
2007-01-16 16:39 ` [PATCH 48/59] sysctl: Register the ocfs2 sysctl numbers Eric W. Biederman
2007-01-16 20:37   ` Mark Fasheh
2007-01-16 16:39 ` [PATCH 49/59] sysctl: Move init_irq_proc into init/main where it belongs Eric W. Biederman
2007-01-27 10:51   ` Andrew Morton
2007-01-16 16:39 ` [PATCH 50/59] sysctl: Move utsname sysctls to their own file Eric W. Biederman
2007-01-17 17:41   ` Kirill Korotaev
2007-01-17 19:31     ` Eric W. Biederman
2007-01-22 22:24       ` Herbert Poetzl
2007-01-16 16:39 ` [PATCH 51/59] sysctl: Move SYSV IPC " Eric W. Biederman
2007-01-17 17:44   ` Kirill Korotaev
2007-01-16 16:39 ` [PATCH 52/59] sysctl: Create sys/fs/binfmt_misc as an ordinary sysctl entry Eric W. Biederman
2007-01-16 16:39 ` [PATCH 53/59] sysctl: Remove support for CTL_ANY Eric W. Biederman
2007-01-16 16:39 ` [PATCH 54/59] sysctl: Remove support for directory strategy routines Eric W. Biederman
2007-01-16 16:40 ` [PATCH 55/59] sysctl: Remove insert_at_head from register_sysctl Eric W. Biederman
2007-01-16 16:40 ` [PATCH 56/59] sysctl: factor out sysctl_head_next from do_sysctl Eric W. Biederman
2007-01-16 16:40 ` [PATCH 57/59] sysctl: allow sysctl_perm to be called from outside of sysctl.c Eric W. Biederman
2007-01-16 16:40 ` [PATCH 58/59] sysctl: Reimplement the sysctl proc support Eric W. Biederman
2007-03-14 10:38   ` Ingo Molnar
2007-03-14 10:48     ` Alexey Dobriyan
2007-03-14 12:24       ` Ingo Molnar
2007-03-14 13:34         ` Eric W. Biederman [this message]
2007-03-14 13:46           ` Ingo Molnar
2007-03-14 15:44         ` Michal Schmidt
2007-01-16 16:40 ` [PATCH 59/59] sysctl: Remove the proc_dir_entry member for the sysctl tables Eric W. Biederman
2007-01-16 16:53 ` [PATCH 0/59] Cleanup sysctl H. Peter Anvin
2007-01-16 18:12   ` Eric W. Biederman
2007-01-16 18:35     ` H. Peter Anvin
2007-01-16 18:54       ` Eric W. Biederman
2007-01-16 18:58         ` H. Peter Anvin
2007-01-16 19:03           ` Eric W. Biederman
2007-01-16 19:15             ` H. Peter Anvin
2007-01-16 19:30               ` Eric W. Biederman
2007-01-16 20:02 ` David Howells
2007-01-17  4:21 ` Andi Kleen
2007-01-17 12:10 ` Martin Schwidefsky
2007-01-17 18:10 ` Kirill Korotaev
2007-01-17 19:02   ` 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=m1ejnsq789.fsf@ebiederm.dsl.xmission.com \
    --to=ebiederm@xmission.com \
    --cc=adobriyan@gmail.com \
    --cc=akpm@linux-foundation.org \
    --cc=bunk@stusta.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=viro@ftp.linux.org.uk \
    --subject='Re: [PATCH 58/59] sysctl: Reimplement the sysctl proc support' \
    /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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).