
From: Greg KH <gregkh@suse.de>

Fix CAN-2005-1263, as noted by Paul Starzetz <ihaquer@isec.pl>.

Full description can be found at:
 	http://www.securityfocus.com/archive/1/397966/2005-05-11/2005-05-17/0

Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
---

 fs/binfmt_elf.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff -puN fs/binfmt_elf.c~linux-kernel-elf-core-dump-privilege-elevation fs/binfmt_elf.c
--- 25/fs/binfmt_elf.c~linux-kernel-elf-core-dump-privilege-elevation	2005-05-13 22:26:05.000000000 -0700
+++ 25-akpm/fs/binfmt_elf.c	2005-05-13 23:28:38.000000000 -0700
@@ -251,7 +251,7 @@ create_elf_tables(struct linux_binprm *b
 	}
 
 	/* 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_prs
 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));
_
