diff -urpPX nopatch linux-2.4.33/fs/binfmt_elf.c linux/fs/binfmt_elf.c --- linux-2.4.33/fs/binfmt_elf.c Sat Aug 12 08:48:39 2006 +++ linux/fs/binfmt_elf.c Sat Aug 12 08:51:47 2006 @@ -1166,9 +1206,12 @@ static int elf_core_dump(long signr, str { unsigned int i, len; - len = current->mm->arg_end - current->mm->arg_start; - if (len >= ELF_PRARGSZ) - len = ELF_PRARGSZ-1; + if (current->mm->arg_end > current->mm->arg_start) { + len = current->mm->arg_end - current->mm->arg_start; + if (len >= ELF_PRARGSZ) + len = ELF_PRARGSZ-1; + } else + len = 0; copy_from_user(&psinfo.pr_psargs, (const char *)current->mm->arg_start, len); for(i = 0; i < len; i++)