|
Lines 216-221
create_elf_tables(char *p, int argc, int
Link Here
|
| 216 |
|
216 |
|
| 217 |
__put_user((elf_addr_t)argc,--sp); |
217 |
__put_user((elf_addr_t)argc,--sp); |
| 218 |
current->mm->arg_start = (unsigned long) p; |
218 |
current->mm->arg_start = (unsigned long) p; |
|
|
219 |
current->mm->arg_end = 0UL; |
| 220 |
current->mm->env_start = 0UL; |
| 221 |
current->mm->env_end = 0UL; |
| 219 |
while (argc-->0) { |
222 |
while (argc-->0) { |
| 220 |
__put_user((elf_caddr_t)(unsigned long)p,argv++); |
223 |
__put_user((elf_caddr_t)(unsigned long)p,argv++); |
| 221 |
len = strnlen_user(p, PAGE_SIZE*MAX_ARG_PAGES); |
224 |
len = strnlen_user(p, PAGE_SIZE*MAX_ARG_PAGES); |
|
Lines 1104-1111
static int elf_core_dump(long signr, str
Link Here
|
| 1104 |
|
1107 |
|
| 1105 |
/* first copy the parameters from user space */ |
1108 |
/* first copy the parameters from user space */ |
| 1106 |
memset(&psinfo, 0, sizeof(psinfo)); |
1109 |
memset(&psinfo, 0, sizeof(psinfo)); |
| 1107 |
{ |
1110 |
if (current->mm->arg_end) { |
| 1108 |
int i, len; |
1111 |
unsigned int int i, len; |
| 1109 |
|
1112 |
|
| 1110 |
len = current->mm->arg_end - current->mm->arg_start; |
1113 |
len = current->mm->arg_end - current->mm->arg_start; |
| 1111 |
if (len >= ELF_PRARGSZ) |
1114 |
if (len >= ELF_PRARGSZ) |