From 54ea0904d5dc8cb64378aecb619b8b977df01910 Mon Sep 17 00:00:00 2001 From: "From: Mel Gorman" Date: Wed, 23 Sep 2009 15:56:05 -0700 Subject: [PATCH] --- yaml --- r: 165643 b: refs/heads/master c: ef1ff6b8c08954bc203b59e887d1e580dd91755a h: refs/heads/master i: 165641: 283c049239a2c19a198541fe3f5a23f90efc63ab 165639: 856accce4c50e265e5fa0bd0f326f618e09a4c3f v: v3 --- [refs] | 2 +- trunk/fs/hugetlbfs/inode.c | 12 +++--------- 2 files changed, 4 insertions(+), 10 deletions(-) diff --git a/[refs] b/[refs] index c4329e161e7f..31cceab5da58 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 2c6854fdadf940678fd54779b778f6faafb870bb +refs/heads/master: ef1ff6b8c08954bc203b59e887d1e580dd91755a diff --git a/trunk/fs/hugetlbfs/inode.c b/trunk/fs/hugetlbfs/inode.c index eba6d552d9c9..133335479c24 100644 --- a/trunk/fs/hugetlbfs/inode.c +++ b/trunk/fs/hugetlbfs/inode.c @@ -936,15 +936,9 @@ static struct file_system_type hugetlbfs_fs_type = { static struct vfsmount *hugetlbfs_vfsmount; -static int can_do_hugetlb_shm(int creat_flags) +static int can_do_hugetlb_shm(void) { - if (creat_flags != HUGETLB_SHMFS_INODE) - return 0; - if (capable(CAP_IPC_LOCK)) - return 1; - if (in_group_p(sysctl_hugetlb_shm_group)) - return 1; - return 0; + return capable(CAP_IPC_LOCK) || in_group_p(sysctl_hugetlb_shm_group); } struct file *hugetlb_file_setup(const char *name, size_t size, int acctflag, @@ -960,7 +954,7 @@ struct file *hugetlb_file_setup(const char *name, size_t size, int acctflag, if (!hugetlbfs_vfsmount) return ERR_PTR(-ENOENT); - if (!can_do_hugetlb_shm(creat_flags)) { + if (creat_flags == HUGETLB_SHMFS_INODE && !can_do_hugetlb_shm()) { *user = current_user(); if (user_shm_lock(size, *user)) { WARN_ONCE(1,