diff options
author | Roland McGrath <roland@redhat.com> | 2005-04-28 18:17:19 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-04-28 18:17:19 -0400 |
commit | 18c8baff8fe151ea02e00047afc369ee31939e9b (patch) | |
tree | e71f64f2f4c33c9e343d121fcbeff7b660961382 | |
parent | 5bec0039f4ac8d707d7afe7739cc2e7004447e38 (diff) |
[PATCH] Fix error recovery path for arch_setup_additional_pages
If arch_setup_additional_pages fails, the error path will do some double-frees.
This fixes it.
Signed-off-by: Roland McGrath <roland@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-rw-r--r-- | fs/binfmt_elf.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/binfmt_elf.c b/fs/binfmt_elf.c index 6ae62cbf7c2e..ce9423bb2de3 100644 --- a/fs/binfmt_elf.c +++ b/fs/binfmt_elf.c | |||
@@ -945,7 +945,7 @@ static int load_elf_binary(struct linux_binprm * bprm, struct pt_regs * regs) | |||
945 | retval = arch_setup_additional_pages(bprm, executable_stack); | 945 | retval = arch_setup_additional_pages(bprm, executable_stack); |
946 | if (retval < 0) { | 946 | if (retval < 0) { |
947 | send_sig(SIGKILL, current, 0); | 947 | send_sig(SIGKILL, current, 0); |
948 | goto out_free_dentry; | 948 | goto out; |
949 | } | 949 | } |
950 | #endif /* ARCH_HAS_SETUP_ADDITIONAL_PAGES */ | 950 | #endif /* ARCH_HAS_SETUP_ADDITIONAL_PAGES */ |
951 | 951 | ||