aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/cgroup.c
diff options
context:
space:
mode:
authorJan Blunck <jblunck@infradead.org>2010-02-24 07:25:34 -0500
committerArnd Bergmann <arnd@arndb.de>2010-10-04 15:10:42 -0400
commit38d018dba3f725b969f196550d92a6ec1c092428 (patch)
tree3699b1b32aa5b6f42e323690299ba60f1b32b981 /kernel/cgroup.c
parentefdffb54034a6fc96bc7fafa33ca2a5503113eee (diff)
BKL: Remove BKL from cgroup
The BKL is only used in remount_fs and get_sb that are both protected by the superblocks s_umount rw_semaphore. Therefore it is safe to remove the BKL entirely. Signed-off-by: Jan Blunck <jblunck@infradead.org> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Diffstat (limited to 'kernel/cgroup.c')
-rw-r--r--kernel/cgroup.c8
1 files changed, 0 insertions, 8 deletions
diff --git a/kernel/cgroup.c b/kernel/cgroup.c
index a7ba3bccadc5..304d27759949 100644
--- a/kernel/cgroup.c
+++ b/kernel/cgroup.c
@@ -52,7 +52,6 @@
52#include <linux/cgroupstats.h> 52#include <linux/cgroupstats.h>
53#include <linux/hash.h> 53#include <linux/hash.h>
54#include <linux/namei.h> 54#include <linux/namei.h>
55#include <linux/smp_lock.h>
56#include <linux/pid_namespace.h> 55#include <linux/pid_namespace.h>
57#include <linux/idr.h> 56#include <linux/idr.h>
58#include <linux/vmalloc.h> /* TODO: replace with more sophisticated array */ 57#include <linux/vmalloc.h> /* TODO: replace with more sophisticated array */
@@ -1222,7 +1221,6 @@ static int cgroup_remount(struct super_block *sb, int *flags, char *data)
1222 struct cgroup *cgrp = &root->top_cgroup; 1221 struct cgroup *cgrp = &root->top_cgroup;
1223 struct cgroup_sb_opts opts; 1222 struct cgroup_sb_opts opts;
1224 1223
1225 lock_kernel();
1226 mutex_lock(&cgrp->dentry->d_inode->i_mutex); 1224 mutex_lock(&cgrp->dentry->d_inode->i_mutex);
1227 mutex_lock(&cgroup_mutex); 1225 mutex_lock(&cgroup_mutex);
1228 1226
@@ -1255,7 +1253,6 @@ static int cgroup_remount(struct super_block *sb, int *flags, char *data)
1255 kfree(opts.name); 1253 kfree(opts.name);
1256 mutex_unlock(&cgroup_mutex); 1254 mutex_unlock(&cgroup_mutex);
1257 mutex_unlock(&cgrp->dentry->d_inode->i_mutex); 1255 mutex_unlock(&cgrp->dentry->d_inode->i_mutex);
1258 unlock_kernel();
1259 return ret; 1256 return ret;
1260} 1257}
1261 1258
@@ -1430,8 +1427,6 @@ static int cgroup_get_sb(struct file_system_type *fs_type,
1430 struct super_block *sb; 1427 struct super_block *sb;
1431 struct cgroupfs_root *new_root; 1428 struct cgroupfs_root *new_root;
1432 1429
1433 lock_kernel();
1434
1435 /* First find the desired set of subsystems */ 1430 /* First find the desired set of subsystems */
1436 mutex_lock(&cgroup_mutex); 1431 mutex_lock(&cgroup_mutex);
1437 ret = parse_cgroupfs_options(data, &opts); 1432 ret = parse_cgroupfs_options(data, &opts);
@@ -1561,7 +1556,6 @@ static int cgroup_get_sb(struct file_system_type *fs_type,
1561 simple_set_mnt(mnt, sb); 1556 simple_set_mnt(mnt, sb);
1562 kfree(opts.release_agent); 1557 kfree(opts.release_agent);
1563 kfree(opts.name); 1558 kfree(opts.name);
1564 unlock_kernel();
1565 return 0; 1559 return 0;
1566 1560
1567 drop_new_super: 1561 drop_new_super:
@@ -1571,8 +1565,6 @@ static int cgroup_get_sb(struct file_system_type *fs_type,
1571 out_err: 1565 out_err:
1572 kfree(opts.release_agent); 1566 kfree(opts.release_agent);
1573 kfree(opts.name); 1567 kfree(opts.name);
1574 unlock_kernel();
1575
1576 return ret; 1568 return ret;
1577} 1569}
1578 1570