From: Greg KH Fix CAN-2005-1263, as noted by Paul Starzetz . 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 Signed-off-by: Andrew Morton --- 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)); _