* [Patch] hugetlb: remove user_shm_lock() check from hugetlb_file_setup()
@ 2011-06-18 7:13 Américo Wang
2011-06-18 23:34 ` David Rientjes
0 siblings, 1 reply; 4+ messages in thread
From: Américo Wang @ 2011-06-18 7:13 UTC (permalink / raw)
To: LKML; +Cc: Ravikiran Thirumalai, William Irwin, Andrew Morton, Mel Gorman
This is a revert of
commit 2584e517320bd48dc8d20e38a2621a2dbe58fade
Author: Ravikiran G Thirumalai <kiran@scalex86.org>
Date: Tue Mar 31 15:21:26 2009 -0700
mm: reintroduce and deprecate rlimit based access for SHM_HUGETLB
because it is deprecated and scheduled to be removed.
Cc: Mel Gorman <mel@csn.ul.ie>
Cc: Ravikiran Thirumalai <kiran@scalex86.org>
Signed-off-by: WANG Cong <xiyou.wangcong@gmail.com>
---
diff --git a/Documentation/feature-removal-schedule.txt b/Documentation/feature-removal-schedule.txt
index 72e2384..d627fd3 100644
--- a/Documentation/feature-removal-schedule.txt
+++ b/Documentation/feature-removal-schedule.txt
@@ -298,18 +298,6 @@ Who: Michael Buesch <mb@bu3sch.de>
---------------------------
-What: Ability for non root users to shm_get hugetlb pages based on mlock
- resource limits
-When: 2.6.31
-Why: Non root users need to be part of /proc/sys/vm/hugetlb_shm_group or
- have CAP_IPC_LOCK to be able to allocate shm segments backed by
- huge pages. The mlock based rlimit check to allow shm hugetlb is
- inconsistent with mmap based allocations. Hence it is being
- deprecated.
-Who: Ravikiran Thirumalai <kiran@scalex86.org>
-
----------------------------
-
What: CONFIG_THERMAL_HWMON
When: January 2009
Why: This option was introduced just to allow older lm-sensors userspace
diff --git a/fs/hugetlbfs/inode.c b/fs/hugetlbfs/inode.c
index 7aafeb8..e2627a3 100644
--- a/fs/hugetlbfs/inode.c
+++ b/fs/hugetlbfs/inode.c
@@ -936,15 +936,8 @@ struct file *hugetlb_file_setup(const char *name, size_t size,
if (!hugetlbfs_vfsmount)
return ERR_PTR(-ENOENT);
- if (creat_flags == HUGETLB_SHMFS_INODE && !can_do_hugetlb_shm()) {
- *user = current_user();
- if (user_shm_lock(size, *user)) {
- printk_once(KERN_WARNING "Using mlock ulimits for SHM_HUGETLB is deprecated\n");
- } else {
- *user = NULL;
- return ERR_PTR(-EPERM);
- }
- }
+ if (creat_flags == HUGETLB_SHMFS_INODE && !can_do_hugetlb_shm())
+ return ERR_PTR(-EPERM);
root = hugetlbfs_vfsmount->mnt_root;
quick_string.name = name;
@@ -952,7 +945,7 @@ struct file *hugetlb_file_setup(const char *name, size_t size,
quick_string.hash = 0;
path.dentry = d_alloc(root, &quick_string);
if (!path.dentry)
- goto out_shm_unlock;
+ goto out;
path.mnt = mntget(hugetlbfs_vfsmount);
error = -ENOSPC;
@@ -983,11 +976,7 @@ out_inode:
iput(inode);
out_dentry:
path_put(&path);
-out_shm_unlock:
- if (*user) {
- user_shm_unlock(size, *user);
- *user = NULL;
- }
+out:
return ERR_PTR(error);
}
^ permalink raw reply related [flat|nested] 4+ messages in thread* Re: [Patch] hugetlb: remove user_shm_lock() check from hugetlb_file_setup()
2011-06-18 7:13 [Patch] hugetlb: remove user_shm_lock() check from hugetlb_file_setup() Américo Wang
@ 2011-06-18 23:34 ` David Rientjes
2011-06-23 5:22 ` Américo Wang
0 siblings, 1 reply; 4+ messages in thread
From: David Rientjes @ 2011-06-18 23:34 UTC (permalink / raw)
To: Américo Wang
Cc: LKML, Ravikiran Thirumalai, William Irwin, Andrew Morton,
Mel Gorman
[-- Attachment #1: Type: TEXT/PLAIN, Size: 1067 bytes --]
On Sat, 18 Jun 2011, Américo Wang wrote:
>
> This is a revert of
>
> commit 2584e517320bd48dc8d20e38a2621a2dbe58fade
> Author: Ravikiran G Thirumalai <kiran@scalex86.org>
> Date: Tue Mar 31 15:21:26 2009 -0700
>
> mm: reintroduce and deprecate rlimit based access for SHM_HUGETLB
>
>
> because it is deprecated and scheduled to be removed.
>
I know this is scheduled for removal and it is quite past due, but I think
we need to do some due diligence before just yanking the whole thing out.
A printk_once() about some mysterious application using SHM_HUGETLB
doesn't seem very helpful in migrating users to start using
/proc/sys/vm/hugetlb_shm_group, and suddenly returning -EPERM when
attempting it doesn't seem very responsible, despite what
Documentation/feature-removal-schedule.txt may say.
For context, we just ran into this internally where this warning at one
point appeared to be WARN_ON_ONCE(). That seems more attention grabbing
because it at least allows users to start understanding what the issue is
and who needs to be fixed.
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [Patch] hugetlb: remove user_shm_lock() check from hugetlb_file_setup()
2011-06-18 23:34 ` David Rientjes
@ 2011-06-23 5:22 ` Américo Wang
2011-06-23 5:32 ` David Rientjes
0 siblings, 1 reply; 4+ messages in thread
From: Américo Wang @ 2011-06-23 5:22 UTC (permalink / raw)
To: David Rientjes
Cc: LKML, Ravikiran Thirumalai, William Irwin, Andrew Morton,
Mel Gorman
On Sun, Jun 19, 2011 at 7:34 AM, David Rientjes <rientjes@google.com> wrote:
> On Sat, 18 Jun 2011, Américo Wang wrote:
>
>>
>> This is a revert of
>>
>> commit 2584e517320bd48dc8d20e38a2621a2dbe58fade
>> Author: Ravikiran G Thirumalai <kiran@scalex86.org>
>> Date: Tue Mar 31 15:21:26 2009 -0700
>>
>> mm: reintroduce and deprecate rlimit based access for SHM_HUGETLB
>>
>>
>> because it is deprecated and scheduled to be removed.
>>
>
> I know this is scheduled for removal and it is quite past due, but I think
> we need to do some due diligence before just yanking the whole thing out.
> A printk_once() about some mysterious application using SHM_HUGETLB
> doesn't seem very helpful in migrating users to start using
> /proc/sys/vm/hugetlb_shm_group, and suddenly returning -EPERM when
> attempting it doesn't seem very responsible, despite what
> Documentation/feature-removal-schedule.txt may say.
>
> For context, we just ran into this internally where this warning at one
> point appeared to be WARN_ON_ONCE(). That seems more attention grabbing
> because it at least allows users to start understanding what the issue is
> and who needs to be fixed.
Well, we put printk_once with KERN_WARNING level, this is already an enough
warning, the only difference with WARN_ON_ONCE() is this has no backtrace
which is not important for this case.
Thanks.
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [Patch] hugetlb: remove user_shm_lock() check from hugetlb_file_setup()
2011-06-23 5:22 ` Américo Wang
@ 2011-06-23 5:32 ` David Rientjes
0 siblings, 0 replies; 4+ messages in thread
From: David Rientjes @ 2011-06-23 5:32 UTC (permalink / raw)
To: Américo Wang
Cc: LKML, Ravikiran Thirumalai, William Irwin, Andrew Morton,
Mel Gorman
[-- Attachment #1: Type: TEXT/PLAIN, Size: 1390 bytes --]
On Thu, 23 Jun 2011, Américo Wang wrote:
> > I know this is scheduled for removal and it is quite past due, but I think
> > we need to do some due diligence before just yanking the whole thing out.
> > A printk_once() about some mysterious application using SHM_HUGETLB
> > doesn't seem very helpful in migrating users to start using
> > /proc/sys/vm/hugetlb_shm_group, and suddenly returning -EPERM when
> > attempting it doesn't seem very responsible, despite what
> > Documentation/feature-removal-schedule.txt may say.
> >
> > For context, we just ran into this internally where this warning at one
> > point appeared to be WARN_ON_ONCE(). That seems more attention grabbing
> > because it at least allows users to start understanding what the issue is
> > and who needs to be fixed.
>
> Well, we put printk_once with KERN_WARNING level, this is already an enough
> warning, the only difference with WARN_ON_ONCE() is this has no backtrace
> which is not important for this case.
>
NACK.
As explained above, using printk_once() to identify that some unidentified
application is using SHM_HUGETLB to charge against the mlock rlimit
through mmap() isn't sufficient notice and _will_ result in userspace
breakage. Please convert this to a WARN_ON_ONCE() so the application is
identified, wait 6-12 months, convert it to a WARN_ON(), wait 6-12 months,
then remove it.
Thanks.
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2011-06-23 5:37 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-06-18 7:13 [Patch] hugetlb: remove user_shm_lock() check from hugetlb_file_setup() Américo Wang
2011-06-18 23:34 ` David Rientjes
2011-06-23 5:22 ` Américo Wang
2011-06-23 5:32 ` David Rientjes
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox