fs, kernel: permit disabling the uselib syscall
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 new CONFIG_USELIB defaults to `y'. Signed-off-by: Josh Triplett <josh@joshtriplett.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:

committed by
Linus Torvalds

parent
8f6c5ffc89
commit
69369a7003
@@ -46,10 +46,15 @@
|
||||
#endif
|
||||
|
||||
static int load_elf_binary(struct linux_binprm *bprm);
|
||||
static int load_elf_library(struct file *);
|
||||
static unsigned long elf_map(struct file *, unsigned long, struct elf_phdr *,
|
||||
int, int, unsigned long);
|
||||
|
||||
#ifdef CONFIG_USELIB
|
||||
static int load_elf_library(struct file *);
|
||||
#else
|
||||
#define load_elf_library NULL
|
||||
#endif
|
||||
|
||||
/*
|
||||
* If we don't support core dumping, then supply a NULL so we
|
||||
* don't even try.
|
||||
@@ -1005,6 +1010,7 @@ out_free_ph:
|
||||
goto out;
|
||||
}
|
||||
|
||||
#ifdef CONFIG_USELIB
|
||||
/* This is really simpleminded and specialized - we are loading an
|
||||
a.out library that is given an ELF header. */
|
||||
static int load_elf_library(struct file *file)
|
||||
@@ -1083,6 +1089,7 @@ out_free_ph:
|
||||
out:
|
||||
return error;
|
||||
}
|
||||
#endif /* #ifdef CONFIG_USELIB */
|
||||
|
||||
#ifdef CONFIG_ELF_CORE
|
||||
/*
|
||||
|
Reference in New Issue
Block a user