Eh? It is settable on a per-process basis. That's what the
current->rlim[...] is all about.
Two little buglets:
for(i=0;i < elf_ex.e_phnum; i++){
if(elf_ppnt->p_flags & PF_W) {
! unsigned int new_data_size = datasize+elf_ppnt->p_memsz;
if (new_data_size > rlim || new_data_size < datasize)
return -ENOMEM;
}
elf_ppnt++;
}
--------
for(i=0;i < elf_ex.e_phnum; i++){
if(elf_ppnt->p_flags & PF_W) {
! unsigned long new_data_size = datasize+elf_ppnt->p_memsz;
if (new_data_size > rlim || new_data_size < datasize)
return -ENOMEM;
+ data_size = new_data_size;
}
elf_ppnt++;
}
r~