|
@@ -156,7 +156,7 @@ static bool cgrp_dfl_root_visible;
|
|
static bool cgroup_legacy_files_on_dfl;
|
|
static bool cgroup_legacy_files_on_dfl;
|
|
|
|
|
|
/* some controllers are not supported in the default hierarchy */
|
|
/* some controllers are not supported in the default hierarchy */
|
|
-static unsigned int cgrp_dfl_root_inhibit_ss_mask;
|
|
|
|
|
|
+static unsigned long cgrp_dfl_root_inhibit_ss_mask;
|
|
|
|
|
|
/* The list of hierarchy roots */
|
|
/* The list of hierarchy roots */
|
|
|
|
|
|
@@ -186,7 +186,7 @@ static struct cftype cgroup_dfl_base_files[];
|
|
static struct cftype cgroup_legacy_base_files[];
|
|
static struct cftype cgroup_legacy_base_files[];
|
|
|
|
|
|
static int rebind_subsystems(struct cgroup_root *dst_root,
|
|
static int rebind_subsystems(struct cgroup_root *dst_root,
|
|
- unsigned int ss_mask);
|
|
|
|
|
|
+ unsigned long ss_mask);
|
|
static int cgroup_destroy_locked(struct cgroup *cgrp);
|
|
static int cgroup_destroy_locked(struct cgroup *cgrp);
|
|
static int create_css(struct cgroup *cgrp, struct cgroup_subsys *ss,
|
|
static int create_css(struct cgroup *cgrp, struct cgroup_subsys *ss,
|
|
bool visible);
|
|
bool visible);
|
|
@@ -998,7 +998,7 @@ static struct cgroup *task_cgroup_from_root(struct task_struct *task,
|
|
* update of a tasks cgroup pointer by cgroup_attach_task()
|
|
* update of a tasks cgroup pointer by cgroup_attach_task()
|
|
*/
|
|
*/
|
|
|
|
|
|
-static int cgroup_populate_dir(struct cgroup *cgrp, unsigned int subsys_mask);
|
|
|
|
|
|
+static int cgroup_populate_dir(struct cgroup *cgrp, unsigned long subsys_mask);
|
|
static struct kernfs_syscall_ops cgroup_kf_syscall_ops;
|
|
static struct kernfs_syscall_ops cgroup_kf_syscall_ops;
|
|
static const struct file_operations proc_cgroupstats_operations;
|
|
static const struct file_operations proc_cgroupstats_operations;
|
|
|
|
|
|
@@ -1068,11 +1068,11 @@ static void cgroup_put(struct cgroup *cgrp)
|
|
* @subtree_control is to be applied to @cgrp. The returned mask is always
|
|
* @subtree_control is to be applied to @cgrp. The returned mask is always
|
|
* a superset of @subtree_control and follows the usual hierarchy rules.
|
|
* a superset of @subtree_control and follows the usual hierarchy rules.
|
|
*/
|
|
*/
|
|
-static unsigned int cgroup_calc_child_subsys_mask(struct cgroup *cgrp,
|
|
|
|
- unsigned int subtree_control)
|
|
|
|
|
|
+static unsigned long cgroup_calc_child_subsys_mask(struct cgroup *cgrp,
|
|
|
|
+ unsigned long subtree_control)
|
|
{
|
|
{
|
|
struct cgroup *parent = cgroup_parent(cgrp);
|
|
struct cgroup *parent = cgroup_parent(cgrp);
|
|
- unsigned int cur_ss_mask = subtree_control;
|
|
|
|
|
|
+ unsigned long cur_ss_mask = subtree_control;
|
|
struct cgroup_subsys *ss;
|
|
struct cgroup_subsys *ss;
|
|
int ssid;
|
|
int ssid;
|
|
|
|
|
|
@@ -1082,7 +1082,7 @@ static unsigned int cgroup_calc_child_subsys_mask(struct cgroup *cgrp,
|
|
return cur_ss_mask;
|
|
return cur_ss_mask;
|
|
|
|
|
|
while (true) {
|
|
while (true) {
|
|
- unsigned int new_ss_mask = cur_ss_mask;
|
|
|
|
|
|
+ unsigned long new_ss_mask = cur_ss_mask;
|
|
|
|
|
|
for_each_subsys(ss, ssid)
|
|
for_each_subsys(ss, ssid)
|
|
if (cur_ss_mask & (1 << ssid))
|
|
if (cur_ss_mask & (1 << ssid))
|
|
@@ -1200,7 +1200,7 @@ static void cgroup_rm_file(struct cgroup *cgrp, const struct cftype *cft)
|
|
* @cgrp: target cgroup
|
|
* @cgrp: target cgroup
|
|
* @subsys_mask: mask of the subsystem ids whose files should be removed
|
|
* @subsys_mask: mask of the subsystem ids whose files should be removed
|
|
*/
|
|
*/
|
|
-static void cgroup_clear_dir(struct cgroup *cgrp, unsigned int subsys_mask)
|
|
|
|
|
|
+static void cgroup_clear_dir(struct cgroup *cgrp, unsigned long subsys_mask)
|
|
{
|
|
{
|
|
struct cgroup_subsys *ss;
|
|
struct cgroup_subsys *ss;
|
|
int i;
|
|
int i;
|
|
@@ -1215,10 +1215,11 @@ static void cgroup_clear_dir(struct cgroup *cgrp, unsigned int subsys_mask)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
-static int rebind_subsystems(struct cgroup_root *dst_root, unsigned int ss_mask)
|
|
|
|
|
|
+static int rebind_subsystems(struct cgroup_root *dst_root,
|
|
|
|
+ unsigned long ss_mask)
|
|
{
|
|
{
|
|
struct cgroup_subsys *ss;
|
|
struct cgroup_subsys *ss;
|
|
- unsigned int tmp_ss_mask;
|
|
|
|
|
|
+ unsigned long tmp_ss_mask;
|
|
int ssid, i, ret;
|
|
int ssid, i, ret;
|
|
|
|
|
|
lockdep_assert_held(&cgroup_mutex);
|
|
lockdep_assert_held(&cgroup_mutex);
|
|
@@ -1253,7 +1254,7 @@ static int rebind_subsystems(struct cgroup_root *dst_root, unsigned int ss_mask)
|
|
* Just warn about it and continue.
|
|
* Just warn about it and continue.
|
|
*/
|
|
*/
|
|
if (cgrp_dfl_root_visible) {
|
|
if (cgrp_dfl_root_visible) {
|
|
- pr_warn("failed to create files (%d) while rebinding 0x%x to default root\n",
|
|
|
|
|
|
+ pr_warn("failed to create files (%d) while rebinding 0x%lx to default root\n",
|
|
ret, ss_mask);
|
|
ret, ss_mask);
|
|
pr_warn("you may retry by moving them to a different hierarchy and unbinding\n");
|
|
pr_warn("you may retry by moving them to a different hierarchy and unbinding\n");
|
|
}
|
|
}
|
|
@@ -1338,7 +1339,7 @@ static int cgroup_show_options(struct seq_file *seq,
|
|
}
|
|
}
|
|
|
|
|
|
struct cgroup_sb_opts {
|
|
struct cgroup_sb_opts {
|
|
- unsigned int subsys_mask;
|
|
|
|
|
|
+ unsigned long subsys_mask;
|
|
unsigned int flags;
|
|
unsigned int flags;
|
|
char *release_agent;
|
|
char *release_agent;
|
|
bool cpuset_clone_children;
|
|
bool cpuset_clone_children;
|
|
@@ -1351,7 +1352,7 @@ static int parse_cgroupfs_options(char *data, struct cgroup_sb_opts *opts)
|
|
{
|
|
{
|
|
char *token, *o = data;
|
|
char *token, *o = data;
|
|
bool all_ss = false, one_ss = false;
|
|
bool all_ss = false, one_ss = false;
|
|
- unsigned int mask = -1U;
|
|
|
|
|
|
+ unsigned long mask = -1UL;
|
|
struct cgroup_subsys *ss;
|
|
struct cgroup_subsys *ss;
|
|
int nr_opts = 0;
|
|
int nr_opts = 0;
|
|
int i;
|
|
int i;
|
|
@@ -1495,7 +1496,7 @@ static int cgroup_remount(struct kernfs_root *kf_root, int *flags, char *data)
|
|
int ret = 0;
|
|
int ret = 0;
|
|
struct cgroup_root *root = cgroup_root_from_kf(kf_root);
|
|
struct cgroup_root *root = cgroup_root_from_kf(kf_root);
|
|
struct cgroup_sb_opts opts;
|
|
struct cgroup_sb_opts opts;
|
|
- unsigned int added_mask, removed_mask;
|
|
|
|
|
|
+ unsigned long added_mask, removed_mask;
|
|
|
|
|
|
if (root == &cgrp_dfl_root) {
|
|
if (root == &cgrp_dfl_root) {
|
|
pr_err("remount is not allowed\n");
|
|
pr_err("remount is not allowed\n");
|
|
@@ -1641,7 +1642,7 @@ static void init_cgroup_root(struct cgroup_root *root,
|
|
set_bit(CGRP_CPUSET_CLONE_CHILDREN, &root->cgrp.flags);
|
|
set_bit(CGRP_CPUSET_CLONE_CHILDREN, &root->cgrp.flags);
|
|
}
|
|
}
|
|
|
|
|
|
-static int cgroup_setup_root(struct cgroup_root *root, unsigned int ss_mask)
|
|
|
|
|
|
+static int cgroup_setup_root(struct cgroup_root *root, unsigned long ss_mask)
|
|
{
|
|
{
|
|
LIST_HEAD(tmp_links);
|
|
LIST_HEAD(tmp_links);
|
|
struct cgroup *root_cgrp = &root->cgrp;
|
|
struct cgroup *root_cgrp = &root->cgrp;
|
|
@@ -2542,7 +2543,7 @@ static int cgroup_sane_behavior_show(struct seq_file *seq, void *v)
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
|
|
-static void cgroup_print_ss_mask(struct seq_file *seq, unsigned int ss_mask)
|
|
|
|
|
|
+static void cgroup_print_ss_mask(struct seq_file *seq, unsigned long ss_mask)
|
|
{
|
|
{
|
|
struct cgroup_subsys *ss;
|
|
struct cgroup_subsys *ss;
|
|
bool printed = false;
|
|
bool printed = false;
|
|
@@ -2689,8 +2690,8 @@ static ssize_t cgroup_subtree_control_write(struct kernfs_open_file *of,
|
|
char *buf, size_t nbytes,
|
|
char *buf, size_t nbytes,
|
|
loff_t off)
|
|
loff_t off)
|
|
{
|
|
{
|
|
- unsigned int enable = 0, disable = 0;
|
|
|
|
- unsigned int css_enable, css_disable, old_sc, new_sc, old_ss, new_ss;
|
|
|
|
|
|
+ unsigned long enable = 0, disable = 0;
|
|
|
|
+ unsigned long css_enable, css_disable, old_sc, new_sc, old_ss, new_ss;
|
|
struct cgroup *cgrp, *child;
|
|
struct cgroup *cgrp, *child;
|
|
struct cgroup_subsys *ss;
|
|
struct cgroup_subsys *ss;
|
|
char *tok;
|
|
char *tok;
|
|
@@ -4322,7 +4323,7 @@ static struct cftype cgroup_legacy_base_files[] = {
|
|
*
|
|
*
|
|
* On failure, no file is added.
|
|
* On failure, no file is added.
|
|
*/
|
|
*/
|
|
-static int cgroup_populate_dir(struct cgroup *cgrp, unsigned int subsys_mask)
|
|
|
|
|
|
+static int cgroup_populate_dir(struct cgroup *cgrp, unsigned long subsys_mask)
|
|
{
|
|
{
|
|
struct cgroup_subsys *ss;
|
|
struct cgroup_subsys *ss;
|
|
int i, ret = 0;
|
|
int i, ret = 0;
|