]> err.no Git - linux-2.6/commitdiff
[PATCH] fix Linux kernel ELF core dump privilege elevation
authorGreg Kroah-Hartman <gregkh@suse.de>
Wed, 11 May 2005 07:10:44 +0000 (00:10 -0700)
committerGreg KH <gregkh@suse.de>
Tue, 17 May 2005 04:07:05 +0000 (21:07 -0700)
As reported by Paul Starzetz <ihaquer@isec.pl>

Reference: CAN-2005-1263

Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
fs/binfmt_elf.c

index ce9423bb2de319d095a3ac5d8e762dcd6d8b3913..c374be51b041a698341ddbda6b9fc5fe1329df46 100644 (file)
@@ -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));