|
@@ -2177,7 +2177,6 @@ static int acct_stack_growth(struct vm_area_struct *vma,
|
|
|
unsigned long size, unsigned long grow)
|
|
|
{
|
|
|
struct mm_struct *mm = vma->vm_mm;
|
|
|
- struct rlimit *rlim = current->signal->rlim;
|
|
|
unsigned long new_start;
|
|
|
|
|
|
/* address space limit tests */
|
|
@@ -2185,7 +2184,7 @@ static int acct_stack_growth(struct vm_area_struct *vma,
|
|
|
return -ENOMEM;
|
|
|
|
|
|
/* Stack limit test */
|
|
|
- if (size > READ_ONCE(rlim[RLIMIT_STACK].rlim_cur))
|
|
|
+ if (size > rlimit(RLIMIT_STACK))
|
|
|
return -ENOMEM;
|
|
|
|
|
|
/* mlock limit tests */
|
|
@@ -2193,7 +2192,7 @@ static int acct_stack_growth(struct vm_area_struct *vma,
|
|
|
unsigned long locked;
|
|
|
unsigned long limit;
|
|
|
locked = mm->locked_vm + grow;
|
|
|
- limit = READ_ONCE(rlim[RLIMIT_MEMLOCK].rlim_cur);
|
|
|
+ limit = rlimit(RLIMIT_MEMLOCK);
|
|
|
limit >>= PAGE_SHIFT;
|
|
|
if (locked > limit && !capable(CAP_IPC_LOCK))
|
|
|
return -ENOMEM;
|