Re: [PATCH 22/23] sysctl arm: Remove binary sysctl support

Eric W. Biederman
2009-11-10T08:01:12Z

Andi Kleen <andi@firstfloor.org> writes:

>> can still use the config option for the compatibility code.
>> There wouldn't even be a performance penalty over new glibc with
>> new kernels which already use procfs.
>
> When he drops the sysctl(2) API completely the old userland will
> be unhappy.

When it comes to breaking user space the issue is not glibc or
anything in a open source distribution. There are maybe 3 apps that
are affected at all and as far as I can tell they were all fixed long
ago. Last time I investigated this in 2007 none of the existing
userlands would break if sysctl was disabled completely.

The issue is all of the in-house and 3rd party software, that we don't
have access to. We have no way of knowing what is used. So I do not
favor a solution that kills some but not all sysctls. Either you
might need them or you don't.

So the decision must be made to you break the rare app from the writer
who has given you no feed back after you have given him fair warning,
or do you try and support him forever, with code that no cares about
and no one tests.

I think the solution in sysctl_binary.c strikes a good balance there.
The code is simple and should survive a long time with little to no
maintenance, so it is good if we need decide we are too chicken to
disable the sysctl system call, and at the same time my changes remove
the support overhead from everywhere else.

Further with the existence of a single file for all of the binary
sysctls we can modify it to strike any other balance between long term
maintainability, and removal of unused cruft.

I am happy to see additional patches from anyone else who chooses to seek
a different balance.

Eric