diff options
author | Greg Kroah-Hartman <gregkh@suse.de> | 2005-05-11 09:10:44 +0200 |
---|---|---|
committer | Greg KH <gregkh@suse.de> | 2005-05-17 06:07:05 +0200 |
commit | a84a505956f5c795a9ab3d60d97b6b91a27aa571 (patch) | |
tree | 440fdf47fcddf8b0d615667b418981a511d16e30 /fs/binfmt_elf.c | |
parent | Automatic merge of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev... (diff) | |
download | linux-a84a505956f5c795a9ab3d60d97b6b91a27aa571.tar.xz linux-a84a505956f5c795a9ab3d60d97b6b91a27aa571.zip |
[PATCH] fix Linux kernel ELF core dump privilege elevation
As reported by Paul Starzetz <ihaquer@isec.pl>
Reference: CAN-2005-1263
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'fs/binfmt_elf.c')
-rw-r--r-- | fs/binfmt_elf.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/fs/binfmt_elf.c b/fs/binfmt_elf.c index ce9423bb2de3..c374be51b041 100644 --- a/fs/binfmt_elf.c +++ b/fs/binfmt_elf.c @@ -251,7 +251,7 @@ create_elf_tables(struct linux_binprm *bprm, struct elfhdr * exec, } /* Populate argv and envp */ - p = current->mm->arg_start; + p = current->mm->arg_end = current->mm->arg_start; while (argc-- > 0) { size_t len; __put_user((elf_addr_t)p, argv++); @@ -1301,7 +1301,7 @@ static void fill_prstatus(struct elf_prstatus *prstatus, static int fill_psinfo(struct elf_prpsinfo *psinfo, struct task_struct *p, struct mm_struct *mm) { - int i, len; + unsigned int i, len; /* first copy the parameters from user space */ memset(psinfo, 0, sizeof(struct elf_prpsinfo)); |