diff options
| author | Al Viro <viro@zeniv.linux.org.uk> | 2012-10-20 22:00:48 -0400 | 
|---|---|---|
| committer | Al Viro <viro@zeniv.linux.org.uk> | 2012-11-28 21:53:38 -0500 | 
| commit | 71613c3b871c5a9f27cc48f124251bcd3aa23be1 (patch) | |
| tree | 792635fc67cb3397c66e4988d5ca92660efcdc6e | |
| parent | 3c456bfc4ba66e9cda210da7bc4fb0ba9fcc6972 (diff) | |
| download | olio-linux-3.10-71613c3b871c5a9f27cc48f124251bcd3aa23be1.tar.xz olio-linux-3.10-71613c3b871c5a9f27cc48f124251bcd3aa23be1.zip  | |
get rid of pt_regs argument of ->load_binary()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
| -rw-r--r-- | arch/alpha/kernel/binfmt_loader.c | 2 | ||||
| -rw-r--r-- | arch/x86/ia32/ia32_aout.c | 5 | ||||
| -rw-r--r-- | fs/binfmt_aout.c | 5 | ||||
| -rw-r--r-- | fs/binfmt_elf.c | 5 | ||||
| -rw-r--r-- | fs/binfmt_elf_fdpic.c | 6 | ||||
| -rw-r--r-- | fs/binfmt_em86.c | 2 | ||||
| -rw-r--r-- | fs/binfmt_flat.c | 5 | ||||
| -rw-r--r-- | fs/binfmt_misc.c | 2 | ||||
| -rw-r--r-- | fs/binfmt_script.c | 2 | ||||
| -rw-r--r-- | fs/binfmt_som.c | 5 | ||||
| -rw-r--r-- | fs/exec.c | 4 | ||||
| -rw-r--r-- | include/linux/binfmts.h | 2 | 
12 files changed, 25 insertions, 20 deletions
diff --git a/arch/alpha/kernel/binfmt_loader.c b/arch/alpha/kernel/binfmt_loader.c index 54abbef5d07..9525660c93c 100644 --- a/arch/alpha/kernel/binfmt_loader.c +++ b/arch/alpha/kernel/binfmt_loader.c @@ -5,7 +5,7 @@  #include <linux/binfmts.h>  #include <linux/a.out.h> -static int load_binary(struct linux_binprm *bprm, struct pt_regs *regs) +static int load_binary(struct linux_binprm *bprm)  {  	struct exec *eh = (struct exec *)bprm->buf;  	unsigned long loader; diff --git a/arch/x86/ia32/ia32_aout.c b/arch/x86/ia32/ia32_aout.c index 07b3a68d2d2..a703af19c28 100644 --- a/arch/x86/ia32/ia32_aout.c +++ b/arch/x86/ia32/ia32_aout.c @@ -35,7 +35,7 @@  #undef WARN_OLD  #undef CORE_DUMP /* definitely broken */ -static int load_aout_binary(struct linux_binprm *, struct pt_regs *regs); +static int load_aout_binary(struct linux_binprm *);  static int load_aout_library(struct file *);  #ifdef CORE_DUMP @@ -260,9 +260,10 @@ static u32 __user *create_aout_tables(char __user *p, struct linux_binprm *bprm)   * These are the functions used to load a.out style executables and shared   * libraries.  There is no binary dependent code anywhere else.   */ -static int load_aout_binary(struct linux_binprm *bprm, struct pt_regs *regs) +static int load_aout_binary(struct linux_binprm *bprm)  {  	unsigned long error, fd_offset, rlim; +	struct pt_regs *regs = current_pt_regs();  	struct exec ex;  	int retval; diff --git a/fs/binfmt_aout.c b/fs/binfmt_aout.c index 0e7a6f81ae3..6043567b95c 100644 --- a/fs/binfmt_aout.c +++ b/fs/binfmt_aout.c @@ -30,7 +30,7 @@  #include <asm/cacheflush.h>  #include <asm/a.out-core.h> -static int load_aout_binary(struct linux_binprm *, struct pt_regs * regs); +static int load_aout_binary(struct linux_binprm *);  static int load_aout_library(struct file*);  #ifdef CONFIG_COREDUMP @@ -201,8 +201,9 @@ static unsigned long __user *create_aout_tables(char __user *p, struct linux_bin   * libraries.  There is no binary dependent code anywhere else.   */ -static int load_aout_binary(struct linux_binprm * bprm, struct pt_regs * regs) +static int load_aout_binary(struct linux_binprm * bprm)  { +	struct pt_regs *regs = current_pt_regs();  	struct exec ex;  	unsigned long error;  	unsigned long fd_offset; diff --git a/fs/binfmt_elf.c b/fs/binfmt_elf.c index fbd9f60bd76..6d7d1647a68 100644 --- a/fs/binfmt_elf.c +++ b/fs/binfmt_elf.c @@ -44,7 +44,7 @@  #define user_siginfo_t siginfo_t  #endif -static int load_elf_binary(struct linux_binprm *bprm, struct pt_regs *regs); +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); @@ -558,7 +558,7 @@ static unsigned long randomize_stack_top(unsigned long stack_top)  #endif  } -static int load_elf_binary(struct linux_binprm *bprm, struct pt_regs *regs) +static int load_elf_binary(struct linux_binprm *bprm)  {  	struct file *interpreter = NULL; /* to shut gcc up */   	unsigned long load_addr = 0, load_bias = 0; @@ -575,6 +575,7 @@ static int load_elf_binary(struct linux_binprm *bprm, struct pt_regs *regs)  	unsigned long reloc_func_desc __maybe_unused = 0;  	int executable_stack = EXSTACK_DEFAULT;  	unsigned long def_flags = 0; +	struct pt_regs *regs = current_pt_regs();  	struct {  		struct elfhdr elf_ex;  		struct elfhdr interp_elf_ex; diff --git a/fs/binfmt_elf_fdpic.c b/fs/binfmt_elf_fdpic.c index a4604915410..dc84732e554 100644 --- a/fs/binfmt_elf_fdpic.c +++ b/fs/binfmt_elf_fdpic.c @@ -56,7 +56,7 @@ typedef char *elf_caddr_t;  MODULE_LICENSE("GPL"); -static int load_elf_fdpic_binary(struct linux_binprm *, struct pt_regs *); +static int load_elf_fdpic_binary(struct linux_binprm *);  static int elf_fdpic_fetch_phdrs(struct elf_fdpic_params *, struct file *);  static int elf_fdpic_map_file(struct elf_fdpic_params *, struct file *,  			      struct mm_struct *, const char *); @@ -164,10 +164,10 @@ static int elf_fdpic_fetch_phdrs(struct elf_fdpic_params *params,  /*   * load an fdpic binary into various bits of memory   */ -static int load_elf_fdpic_binary(struct linux_binprm *bprm, -				 struct pt_regs *regs) +static int load_elf_fdpic_binary(struct linux_binprm *bprm)  {  	struct elf_fdpic_params exec_params, interp_params; +	struct pt_regs *regs = current_pt_regs();  	struct elf_phdr *phdr;  	unsigned long stack_size, entryaddr;  #ifdef ELF_FDPIC_PLAT_INIT diff --git a/fs/binfmt_em86.c b/fs/binfmt_em86.c index 7e125718a75..4e6cce57d11 100644 --- a/fs/binfmt_em86.c +++ b/fs/binfmt_em86.c @@ -22,7 +22,7 @@  #define EM86_INTERP	"/usr/bin/em86"  #define EM86_I_NAME	"em86" -static int load_em86(struct linux_binprm *bprm,struct pt_regs *regs) +static int load_em86(struct linux_binprm *bprm)  {  	char *interp, *i_name, *i_arg;  	struct file * file; diff --git a/fs/binfmt_flat.c b/fs/binfmt_flat.c index e280352b28f..b56371981d1 100644 --- a/fs/binfmt_flat.c +++ b/fs/binfmt_flat.c @@ -88,7 +88,7 @@ struct lib_info {  static int load_flat_shared_library(int id, struct lib_info *p);  #endif -static int load_flat_binary(struct linux_binprm *, struct pt_regs * regs); +static int load_flat_binary(struct linux_binprm *);  static int flat_core_dump(struct coredump_params *cprm);  static struct linux_binfmt flat_format = { @@ -858,9 +858,10 @@ out:   * libraries.  There is no binary dependent code anywhere else.   */ -static int load_flat_binary(struct linux_binprm * bprm, struct pt_regs * regs) +static int load_flat_binary(struct linux_binprm * bprm)  {  	struct lib_info libinfo; +	struct pt_regs *regs = current_pt_regs();  	unsigned long p = bprm->p;  	unsigned long stack_len;  	unsigned long start_addr; diff --git a/fs/binfmt_misc.c b/fs/binfmt_misc.c index 226aeac22ac..b0b70fbea06 100644 --- a/fs/binfmt_misc.c +++ b/fs/binfmt_misc.c @@ -104,7 +104,7 @@ static Node *check_file(struct linux_binprm *bprm)  /*   * the loader itself   */ -static int load_misc_binary(struct linux_binprm *bprm, struct pt_regs *regs) +static int load_misc_binary(struct linux_binprm *bprm)  {  	Node *fmt;  	struct file * interp_file = NULL; diff --git a/fs/binfmt_script.c b/fs/binfmt_script.c index 798b729f01d..8c954997e7f 100644 --- a/fs/binfmt_script.c +++ b/fs/binfmt_script.c @@ -14,7 +14,7 @@  #include <linux/err.h>  #include <linux/fs.h> -static int load_script(struct linux_binprm *bprm,struct pt_regs *regs) +static int load_script(struct linux_binprm *bprm)  {  	const char *i_arg, *i_name;  	char *cp; diff --git a/fs/binfmt_som.c b/fs/binfmt_som.c index 4517aaff61b..4e00ed68d4a 100644 --- a/fs/binfmt_som.c +++ b/fs/binfmt_som.c @@ -35,7 +35,7 @@  #include <linux/elf.h> -static int load_som_binary(struct linux_binprm * bprm, struct pt_regs * regs); +static int load_som_binary(struct linux_binprm * bprm);  static int load_som_library(struct file *);  /* @@ -180,13 +180,14 @@ out:   */  static int -load_som_binary(struct linux_binprm * bprm, struct pt_regs * regs) +load_som_binary(struct linux_binprm * bprm)  {  	int retval;  	unsigned int size;  	unsigned long som_entry;  	struct som_hdr *som_ex;  	struct som_exec_auxhdr *hpuxhdr; +	struct pt_regs *regs = current_pt_regs();  	/* Get the exec-header */  	som_ex = (struct som_hdr *) bprm->buf; diff --git a/fs/exec.c b/fs/exec.c index 2aee7ef1066..721a2992951 100644 --- a/fs/exec.c +++ b/fs/exec.c @@ -1374,13 +1374,13 @@ int search_binary_handler(struct linux_binprm *bprm)  	for (try=0; try<2; try++) {  		read_lock(&binfmt_lock);  		list_for_each_entry(fmt, &formats, lh) { -			int (*fn)(struct linux_binprm *, struct pt_regs *) = fmt->load_binary; +			int (*fn)(struct linux_binprm *) = fmt->load_binary;  			if (!fn)  				continue;  			if (!try_module_get(fmt->module))  				continue;  			read_unlock(&binfmt_lock); -			retval = fn(bprm, current_pt_regs()); +			retval = fn(bprm);  			/*  			 * Restore the depth counter to its starting value  			 * in this call, so we don't have to rely on every diff --git a/include/linux/binfmts.h b/include/linux/binfmts.h index 1f6ce133b4c..2630c9b41a8 100644 --- a/include/linux/binfmts.h +++ b/include/linux/binfmts.h @@ -72,7 +72,7 @@ struct coredump_params {  struct linux_binfmt {  	struct list_head lh;  	struct module *module; -	int (*load_binary)(struct linux_binprm *, struct  pt_regs * regs); +	int (*load_binary)(struct linux_binprm *);  	int (*load_shlib)(struct file *);  	int (*core_dump)(struct coredump_params *cprm);  	unsigned long min_coredump;	/* minimal dump size */  |