From 581871a8e00d283f78271f54da0b13f3a1352082 Mon Sep 17 00:00:00 2001 From: Chris Wright Date: Sun, 1 May 2005 08:58:38 -0700 Subject: [PATCH] --- yaml --- r: 631 b: refs/heads/master c: 93ea1d0a12623dc1a693642b5758261f35f9bf96 h: refs/heads/master i: 629: 2ab14f6d303dff51472901c8139d4ec7ebafc778 627: e2a13007cc90c98c4205f8fde590778095af3f5c 623: 4506dffb98eb06d74e5975313a35c080f732880b v: v3 --- [refs] | 2 +- trunk/mm/mmap.c | 10 ++++++---- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/[refs] b/[refs] index 6a52dd461108..a09e9e762500 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: edfbe2b0038723e5699ab22695ccd62b5542a5c1 +refs/heads/master: 93ea1d0a12623dc1a693642b5758261f35f9bf96 diff --git a/trunk/mm/mmap.c b/trunk/mm/mmap.c index 1ec0f6e9c0d8..01f9793591f6 100644 --- a/trunk/mm/mmap.c +++ b/trunk/mm/mmap.c @@ -937,9 +937,10 @@ unsigned long do_mmap_pgoff(struct file * file, unsigned long addr, /* mlock MCL_FUTURE? */ if (vm_flags & VM_LOCKED) { unsigned long locked, lock_limit; - locked = mm->locked_vm << PAGE_SHIFT; + locked = len >> PAGE_SHIFT; + locked += mm->locked_vm; lock_limit = current->signal->rlim[RLIMIT_MEMLOCK].rlim_cur; - locked += len; + lock_limit >>= PAGE_SHIFT; if (locked > lock_limit && !capable(CAP_IPC_LOCK)) return -EAGAIN; } @@ -1822,9 +1823,10 @@ unsigned long do_brk(unsigned long addr, unsigned long len) */ if (mm->def_flags & VM_LOCKED) { unsigned long locked, lock_limit; - locked = mm->locked_vm << PAGE_SHIFT; + locked = len >> PAGE_SHIFT; + locked += mm->locked_vm; lock_limit = current->signal->rlim[RLIMIT_MEMLOCK].rlim_cur; - locked += len; + lock_limit >>= PAGE_SHIFT; if (locked > lock_limit && !capable(CAP_IPC_LOCK)) return -EAGAIN; }