Re: [PATCH] fs, kernel: Support disabling the uselib syscall

From: Josh Triplett
Date: Fri Feb 21 2014 - 15:44:25 EST


On Fri, Feb 21, 2014 at 12:16:27PM -0800, Andrew Morton wrote:
> On Fri, 21 Feb 2014 10:11:06 -0800 Josh Triplett <josh@xxxxxxxxxxxxxxxx> wrote:
> > uselib hasn't been used since libc5; glibc does not use it. Support
> > turning it off.
> >
> > When disabled, also omit the load_elf_library implementation from
> > binfmt_elf.c, which only uselib invokes.
> >
> > bloat-o-meter:
> > add/remove: 0/4 grow/shrink: 0/1 up/down: 0/-785 (-785)
> > function old new delta
> > padzero 39 36 -3
> > uselib_flags 20 - -20
> > sys_uselib 168 - -168
> > SyS_uselib 168 - -168
> > load_elf_library 426 - -426
> >
>
> The patch disables CONFIG_USELIB by default. This important decision
> should be mentioned and justified in the changelog, please.

Gah, that was not intentional. Will fix in v2. I did very
intentionally not make it require CONFIG_EXPERT or CONFIG_EMBEDDED,
since (like CONFIG_BINFMT_AOUT) almost everyone will want it disabled,
but I had intended to make it "default y".

> > +#ifdef CONFIG_USELIB
>
> I wonder if CONFIG_SYS_USELIB would be a better identifier. We haven't
> done anything consistent here.

As far as I can tell, there's no use of CONFIG_SYS_* or any other
consistent prefix for configuring out syscalls; all such symbols appear
unprefixed. I think it would make sense to have a single common menu
and prefix for configuring out unused syscalls, but given the large
number of existing Kconfig options for that, I think that change ought
to occur as a separate patch series that isn't also trying to add a new
such option.

Perhaps Dave Hansen (CCed) might be interested in incorporating such a
change into his ongoing kconfig consolidation and reorganization?

- Josh Triplett
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/