If arch_setup_additional_pages fails, the error path will do some double-frees.
This fixes it.
Signed-off-by: Roland McGrath <[email protected]>
Index: fs/binfmt_elf.c
===================================================================
--- 3608de2fc88b062070a9d197eda9cac1fb9635d3/fs/binfmt_elf.c (mode:100644 sha1:6ae62cbf7c2e5ccd083aaea4648c47a04acb9059)
+++ 299f7099d9c0c249573c37eb6c1200277c966a47/fs/binfmt_elf.c (mode:100644 sha1:4f34e6b2ff6612b6ed59eab7e042852a3f958897)
@@ -945,7 +945,7 @@
retval = arch_setup_additional_pages(bprm, executable_stack);
if (retval < 0) {
send_sig(SIGKILL, current, 0);
- goto out_free_dentry;
+ goto out;
}
#endif /* ARCH_HAS_SETUP_ADDITIONAL_PAGES */