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: <m1ocnch9v8.fsf@fess.ebiederm.org>
Date:	Sun, 08 Nov 2009 15:31:23 -0800
From:	ebiederm@...ssion.com (Eric W. Biederman)
To:	Russell King <rmk+lkml@....linux.org.uk>
Cc:	Andrew Morton <akpm@...ux-foundation.org>,
	linux-kernel@...r.kernel.org, Leo Chen <leochen@...adcom.com>
Subject: Re: [PATCH 22/23] sysctl arm: Remove binary sysctl support

Russell King <rmk+lkml@....linux.org.uk> writes:

> On Sun, Nov 08, 2009 at 02:45:36PM -0800, Eric W. Biederman wrote:
>> Russell King <rmk+lkml@....linux.org.uk> writes:
>> 
>> >
>> > NAK.  Glibc uses these numeric sysctls to support ioperm emulation on ARM.
>> > Therefore, removal of these numeric sysctls breaks that user interface:
>> >
>> >   static int iobase_name[] = { CTL_BUS, BUS_ISA, BUS_ISA_PORT_BASE };
>> >   static int ioshift_name[] = { CTL_BUS, BUS_ISA, BUS_ISA_PORT_SHIFT };
>> >   if (! sysctl (iobase_name, 3, &io.io_base, &len, NULL, 0)
>> >       && ! sysctl (ioshift_name, 3, &io.shift, &len, NULL, 0))
>> >     {
>> >       io.initdone = 1;
>> >       return 0;
>> >     }
>> 
>> Those still exist in sysctl_binary.c are provided by reading
>> /proc/sys/bus/isa/membase, /proc/sys/bus/isa/portbase, and
>> /proc/sys/bus/isa/portshift.
>> 
>> The practical difference is that /proc support now must be compiled
>> in to support sys_sysctl.
>
> Have you checked whether glibc supports reading these from procfs rather
> than sysfs using the code as it stands above?
>
> If not, continued NAK due to user visible ABI change which will cause
> breakage.

There is not a user visible ABI change.  Just a massive implementation change.
The only user visible change is that CONFIG_SYS_SYSCALL now depends on
CONFIG_PROC_SYSCTL.

The implementation of sys_sysctl in binary_sysctl.c will now read
/proc/sys/bus/isa/portbase and using vfs_read convert the text string
to a binary integer and return it to glibc in the form sys_sysctl has
always used.

And yes, as of glibc-ports-10.1 the arm implementation of ioperm still
depends on the binary sys_sysctl implementation to get this information.

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