rpms/kernel/devel linux-2.6.11-execshield-vdso.patch,1.3,1.4

fedora-cvs-commits at redhat.com fedora-cvs-commits at redhat.com
Wed Apr 27 01:02:20 UTC 2005


Author: davej

Update of /cvs/dist/rpms/kernel/devel
In directory cvs.devel.redhat.com:/tmp/cvs-serv26175

Modified Files:
	linux-2.6.11-execshield-vdso.patch 
Log Message:
fix possible double free


linux-2.6.11-execshield-vdso.patch:
 linux-2.6.11/arch/i386/kernel/sysenter.c  |   71 ++++++++++++++++++------------
 linux-2.6.11/fs/binfmt_elf.c              |   17 ++-----
 linux-2.6.11/include/asm-i386/elf.h       |    7 ++
 linux-2.6.11/include/asm-i386/page.h      |    5 ++
 linux-2.6.11/include/linux/mm.h           |    5 ++
 linux-2.6.11/mm/mmap.c                    |   39 ++++++++++++++++
 linux-2.6.8/arch/i386/kernel/cpu/common.c |    6 ++
 7 files changed, 112 insertions(+), 38 deletions(-)

Index: linux-2.6.11-execshield-vdso.patch
===================================================================
RCS file: /cvs/dist/rpms/kernel/devel/linux-2.6.11-execshield-vdso.patch,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- linux-2.6.11-execshield-vdso.patch	27 Apr 2005 00:28:45 -0000	1.3
+++ linux-2.6.11-execshield-vdso.patch	27 Apr 2005 01:02:14 -0000	1.4
@@ -237,3 +237,30 @@
 +	return err;
 +}
 
+
+--- linux-2.6.11/fs/binfmt_elf.c.~1~	2005-04-26 17:42:01.532000183 -0700
++++ linux-2.6.11/fs/binfmt_elf.c	2005-04-26 17:55:58.566821547 -0700
+@@ -1001,8 +1001,6 @@ static int load_elf_binary(struct linux_
+ 		elf_entry = loc->elf_ex.e_entry;
+ 	}
+ 
+-	kfree(elf_phdata);
+-
+ 	if (interpreter_type != INTERPRETER_AOUT)
+ 		sys_close(elf_exec_fileno);
+ 
+@@ -1012,10 +1010,12 @@ static int load_elf_binary(struct linux_
+ 	retval = arch_setup_additional_pages(bprm, executable_stack);
+ 	if (retval < 0) {
+ 		send_sig(SIGKILL, current, 0);
+-		goto out_free_dentry;
++		goto out_free_fh;
+ 	}
+ #endif /* ARCH_HAS_SETUP_ADDITIONAL_PAGES */
+ 
++	kfree(elf_phdata);
++
+ 	compute_creds(bprm);
+ 	current->flags &= ~PF_FORKNOEXEC;
+ 	create_elf_tables(bprm, &loc->elf_ex, (interpreter_type == INTERPRETER_AOUT),
+




More information about the fedora-cvs-commits mailing list