diff options
author | Greg Kroah-Hartman <gregkh@suse.de> | 2005-05-11 00:10:44 -0700 |
---|---|---|
committer | Greg KH <gregkh@suse.de> | 2005-05-16 21:07:05 -0700 |
commit | a84a505956f5c795a9ab3d60d97b6b91a27aa571 (patch) | |
tree | 440fdf47fcddf8b0d615667b418981a511d16e30 | |
parent | d3f0fcec2d50a18a84c4f3dd7683206ed37ca009 (diff) |
[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>
-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 ce9423bb2de..c374be51b04 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)); |