Signed-off-by: Ciju Rajan ([EMAIL PROTECTED]) --- --- linux-2.6.23/mm/mlock.c.orig 2007-11-14 17:35:02.000000000 +0530 +++ linux-2.6.23/mm/mlock.c 2007-11-14 17:50:31.000000000 +0530 @@ -8,6 +8,7 @@ #include <linux/capability.h> #include <linux/mman.h> #include <linux/mm.h> +#include <linux/hugetlb.h> #include <linux/mempolicy.h> #include <linux/syscalls.h> #include <linux/sched.h> @@ -248,8 +249,14 @@ int user_shm_lock(size_t size, struct us allowed = 1; lock_limit >>= PAGE_SHIFT; spin_lock(&shmlock_user_lock); +#ifdef CONFIG_HUGETLB_PAGE + if (!allowed && + locked + user->locked_shm > lock_limit && + (!(capable(CAP_IPC_LOCK) || in_group_p(sysctl_hugetlb_shm_group)))) +#else if (!allowed && locked + user->locked_shm > lock_limit && !capable(CAP_IPC_LOCK)) +#endif goto out; get_uid(user); user->locked_shm += locked; - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
When a normal user is trying to allocate huge pages using shmget(), the
user is not able to get the memory even if the gid is present in
/proc/sys/vm/hugetlb_shm_group. The function user_shm_lock() is not
successful. The user does not have the capability to perform a
CAP_IPC_LOCK. A check is added here to see whether the gid is present in
hugetlb_shm_group. Please review the patch.
- [RFC] [PATCH] hugetlbfs :shmget with SHM_HUGETLB onl... Ciju Rajan K
- Re: [RFC] [PATCH] hugetlbfs :shmget with SHM_HU... aglitke
- Re: [RFC] [PATCH] hugetlbfs :shmget with SH... William Lee Irwin III
- Re: [RFC] [PATCH] hugetlbfs :shmget with SH... Ciju Rajan K