|
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); |