All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] do not limit locked memory when RLIMIT_MEMLOCK is RLIM_INFINITY
@ 2007-07-10  0:26 ` Herbert van den Bergh
  0 siblings, 0 replies; 15+ messages in thread
From: Herbert van den Bergh @ 2007-07-10  0:26 UTC (permalink / raw)
  To: linux-kernel, linux-mm; +Cc: akpm, Dave McCracken, Chris Mason


This patch fixes a bug in mm/mlock.c on 32-bit architectures that prevents
a user from locking more than 4GB of shared memory, or allocating more
than 4GB of shared memory in hugepages, when rlim[RLIMIT_MEMLOCK] is
set to RLIM_INFINITY.

Signed-off-by: Herbert van den Bergh <herbert.van.den.bergh@oracle.com>
Acked-by: Chris Mason <chris.mason@oracle.com>

--- linux-2.6.22/mm/mlock.c.orig    2007-07-09 10:19:31.000000000 -0700
+++ linux-2.6.22/mm/mlock.c    2007-07-09 10:19:19.000000000 -0700
@@ -244,9 +244,12 @@ int user_shm_lock(size_t size, struct us
 
     locked = (size + PAGE_SIZE - 1) >> PAGE_SHIFT;
     lock_limit = current->signal->rlim[RLIMIT_MEMLOCK].rlim_cur;
+    if (lock_limit == RLIM_INFINITY)
+        allowed = 1;
     lock_limit >>= PAGE_SHIFT;
     spin_lock(&shmlock_user_lock);
-    if (locked + user->locked_shm > lock_limit && !capable(CAP_IPC_LOCK))
+    if (!allowed &&
+        locked + user->locked_shm > lock_limit && !capable(CAP_IPC_LOCK))
         goto out;
     get_uid(user);
     user->locked_shm += locked;


^ permalink raw reply	[flat|nested] 15+ messages in thread
* [PATCH] do not limit locked memory when RLIMIT_MEMLOCK is RLIM_INFINITY
@ 2007-07-10  0:59 ` Herbert van den Bergh
  0 siblings, 0 replies; 15+ messages in thread
From: Herbert van den Bergh @ 2007-07-10  0:59 UTC (permalink / raw)
  To: linux-kernel, linux-mm; +Cc: akpm, Dave McCracken, Chris Mason


[resending, since my previous message had tabs converted to spaces]

This patch fixes a bug in mm/mlock.c on 32-bit architectures that prevents
a user from locking more than 4GB of shared memory, or allocating more
than 4GB of shared memory in hugepages, when rlim[RLIMIT_MEMLOCK] is
set to RLIM_INFINITY.

Signed-off-by: Herbert van den Bergh <herbert.van.den.bergh@oracle.com>
Acked-by: Chris Mason <chris.mason@oracle.com>

--- linux-2.6.22/mm/mlock.c.orig	2007-07-09 10:19:31.000000000 -0700
+++ linux-2.6.22/mm/mlock.c	2007-07-09 10:19:19.000000000 -0700
@@ -244,9 +244,12 @@ int user_shm_lock(size_t size, struct us
 
 	locked = (size + PAGE_SIZE - 1) >> PAGE_SHIFT;
 	lock_limit = current->signal->rlim[RLIMIT_MEMLOCK].rlim_cur;
+	if (lock_limit == RLIM_INFINITY)
+		allowed = 1;
 	lock_limit >>= PAGE_SHIFT;
 	spin_lock(&shmlock_user_lock);
-	if (locked + user->locked_shm > lock_limit && !capable(CAP_IPC_LOCK))
+	if (!allowed &&
+	    locked + user->locked_shm > lock_limit && !capable(CAP_IPC_LOCK))
 		goto out;
 	get_uid(user);
 	user->locked_shm += locked;

^ permalink raw reply	[flat|nested] 15+ messages in thread
* [PATCH] do not limit locked memory when RLIMIT_MEMLOCK is RLIM_INFINITY
@ 2007-06-28 18:25 Herbert van den Bergh
  0 siblings, 0 replies; 15+ messages in thread
From: Herbert van den Bergh @ 2007-06-28 18:25 UTC (permalink / raw)
  To: linux-mm

This patch fixes a bug in mm/mlock.c on 32-bit architectures that prevents
a user from locking more than 4GB of shared memory, or allocating more
than 4GB of shared memory in hugepages, when rlim[RLIMIT_MEMLOCK] is
set to RLIM_INFINITY.

Signed-off-by: Herbert van den Bergh <herbert.van.den.bergh@oracle.com>
Acked-by: Chris Mason <chris.mason@oracle.com>

--- linux-2.6.22-rc6/mm/mlock.c.orig    2007-06-26 15:17:22.000000000 -0700
+++ linux-2.6.22-rc6/mm/mlock.c    2007-06-28 11:18:48.000000000 -0700
@@ -244,9 +244,12 @@ int user_shm_lock(size_t size, struct us
 
     locked = (size + PAGE_SIZE - 1) >> PAGE_SHIFT;
     lock_limit = current->signal->rlim[RLIMIT_MEMLOCK].rlim_cur;
+    if (lock_limit == RLIM_INFINITY)
+        allowed = 1;
     lock_limit >>= PAGE_SHIFT;
     spin_lock(&shmlock_user_lock);
-    if (locked + user->locked_shm > lock_limit && !capable(CAP_IPC_LOCK))
+    if (!allowed &&
+        locked + user->locked_shm > lock_limit && !capable(CAP_IPC_LOCK))
         goto out;
     get_uid(user);
     user->locked_shm += locked;

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2007-07-13 17:32 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-07-10  0:26 [PATCH] do not limit locked memory when RLIMIT_MEMLOCK is RLIM_INFINITY Herbert van den Bergh
2007-07-10  0:26 ` Herbert van den Bergh
2007-07-10  0:41 ` KAMEZAWA Hiroyuki
2007-07-10  0:41   ` KAMEZAWA Hiroyuki
2007-07-10  0:47 ` Randy Dunlap
2007-07-10  0:47   ` Randy Dunlap
  -- strict thread matches above, loose matches on Subject: below --
2007-07-10  0:59 Herbert van den Bergh
2007-07-10  0:59 ` Herbert van den Bergh
2007-07-13  7:44 ` Andrew Morton
2007-07-13  7:44   ` Andrew Morton
2007-07-13 15:37   ` Herbert van den Bergh
2007-07-13 15:37     ` Herbert van den Bergh
2007-07-13 17:31     ` Andrew Morton
2007-07-13 17:31       ` Andrew Morton
2007-06-28 18:25 Herbert van den Bergh

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.