From 55ebc2d05429d3e2b7ae82df4bd2da3251cb39d2 Mon Sep 17 00:00:00 2001 From: Al Viro Date: Sun, 29 Mar 2009 16:31:16 -0400 Subject: [PATCH] --- yaml --- r: 139860 b: refs/heads/master c: e7b9b550f53e81ea38e71d322d6f95730df058a2 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/fs/binfmt_elf.c | 15 ++------------- 2 files changed, 3 insertions(+), 14 deletions(-) diff --git a/[refs] b/[refs] index 78e33a11d1b7..2f5d8a672e92 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 5ad4e53bd5406ee214ddc5a41f03f779b8b2d526 +refs/heads/master: e7b9b550f53e81ea38e71d322d6f95730df058a2 diff --git a/trunk/fs/binfmt_elf.c b/trunk/fs/binfmt_elf.c index 33b7235f853b..10462efe5a13 100644 --- a/trunk/fs/binfmt_elf.c +++ b/trunk/fs/binfmt_elf.c @@ -576,7 +576,6 @@ static int load_elf_binary(struct linux_binprm *bprm, struct pt_regs *regs) unsigned long error; struct elf_phdr *elf_ppnt, *elf_phdata; unsigned long elf_bss, elf_brk; - int elf_exec_fileno; int retval, i; unsigned int size; unsigned long elf_entry; @@ -631,12 +630,6 @@ static int load_elf_binary(struct linux_binprm *bprm, struct pt_regs *regs) goto out_free_ph; } - retval = get_unused_fd(); - if (retval < 0) - goto out_free_ph; - get_file(bprm->file); - fd_install(elf_exec_fileno = retval, bprm->file); - elf_ppnt = elf_phdata; elf_bss = 0; elf_brk = 0; @@ -655,13 +648,13 @@ static int load_elf_binary(struct linux_binprm *bprm, struct pt_regs *regs) retval = -ENOEXEC; if (elf_ppnt->p_filesz > PATH_MAX || elf_ppnt->p_filesz < 2) - goto out_free_file; + goto out_free_ph; retval = -ENOMEM; elf_interpreter = kmalloc(elf_ppnt->p_filesz, GFP_KERNEL); if (!elf_interpreter) - goto out_free_file; + goto out_free_ph; retval = kernel_read(bprm->file, elf_ppnt->p_offset, elf_interpreter, @@ -956,8 +949,6 @@ static int load_elf_binary(struct linux_binprm *bprm, struct pt_regs *regs) kfree(elf_phdata); - sys_close(elf_exec_fileno); - set_binfmt(&elf_format); #ifdef ARCH_HAS_SETUP_ADDITIONAL_PAGES @@ -1028,8 +1019,6 @@ static int load_elf_binary(struct linux_binprm *bprm, struct pt_regs *regs) fput(interpreter); out_free_interp: kfree(elf_interpreter); -out_free_file: - sys_close(elf_exec_fileno); out_free_ph: kfree(elf_phdata); goto out;