Lines 1360-1365
Link Here
|
1360 |
vm_unacct_memory(grow); |
1360 |
vm_unacct_memory(grow); |
1361 |
return -ENOMEM; |
1361 |
return -ENOMEM; |
1362 |
} |
1362 |
} |
|
|
1363 |
if ((vma->vm_flags & VM_LOCKED) && !capable(CAP_IPC_LOCK) && |
1364 |
((vma->vm_mm->locked_vm + grow) << PAGE_SHIFT) > |
1365 |
current->signal->rlim[RLIMIT_MEMLOCK].rlim_cur) { |
1366 |
anon_vma_unlock(vma); |
1367 |
vm_unacct_memory(grow); |
1368 |
return -ENOMEM; |
1369 |
} |
1363 |
vma->vm_end = address; |
1370 |
vma->vm_end = address; |
1364 |
vma->vm_mm->total_vm += grow; |
1371 |
vma->vm_mm->total_vm += grow; |
1365 |
if (vma->vm_flags & VM_LOCKED) |
1372 |
if (vma->vm_flags & VM_LOCKED) |
Lines 1422-1427
Link Here
|
1422 |
vm_unacct_memory(grow); |
1429 |
vm_unacct_memory(grow); |
1423 |
return -ENOMEM; |
1430 |
return -ENOMEM; |
1424 |
} |
1431 |
} |
|
|
1432 |
if ((vma->vm_flags & VM_LOCKED) && !capable(CAP_IPC_LOCK) && |
1433 |
((vma->vm_mm->locked_vm + grow) << PAGE_SHIFT) > |
1434 |
current->signal->rlim[RLIMIT_MEMLOCK].rlim_cur) { |
1435 |
anon_vma_unlock(vma); |
1436 |
vm_unacct_memory(grow); |
1437 |
return -ENOMEM; |
1438 |
} |
1425 |
vma->vm_start = address; |
1439 |
vma->vm_start = address; |
1426 |
vma->vm_pgoff -= grow; |
1440 |
vma->vm_pgoff -= grow; |
1427 |
vma->vm_mm->total_vm += grow; |
1441 |
vma->vm_mm->total_vm += grow; |
Lines 1833-1838
Link Here
|
1833 |
down_write(¤t->mm->mmap_sem); |
1847 |
down_write(¤t->mm->mmap_sem); |
1834 |
ret = __do_brk(addr, len); |
1848 |
ret = __do_brk(addr, len); |
1835 |
up_write(¤t->mm->mmap_sem); |
1849 |
up_write(¤t->mm->mmap_sem); |
|
|
1850 |
return ret; |
1836 |
} |
1851 |
} |
1837 |
|
1852 |
|
1838 |
EXPORT_SYMBOL(do_brk); |
1853 |
EXPORT_SYMBOL(do_brk); |