Loading fs/proc/base.c +2 −17 Original line number Diff line number Diff line Loading @@ -376,21 +376,6 @@ static const struct file_operations proc_lstats_operations = { #endif #ifdef CONFIG_CGROUPS static int cgroup_open(struct inode *inode, struct file *file) { struct pid *pid = PROC_I(inode)->pid; return single_open(file, proc_cgroup_show, pid); } static const struct file_operations proc_cgroup_operations = { .open = cgroup_open, .read = seq_read, .llseek = seq_lseek, .release = single_release, }; #endif #ifdef CONFIG_PROC_PID_CPUSET static int cpuset_open(struct inode *inode, struct file *file) Loading Loading @@ -2576,7 +2561,7 @@ static const struct pid_entry tgid_base_stuff[] = { REG("cpuset", S_IRUGO, proc_cpuset_operations), #endif #ifdef CONFIG_CGROUPS REG("cgroup", S_IRUGO, proc_cgroup_operations), ONE("cgroup", S_IRUGO, proc_cgroup_show), #endif ONE("oom_score", S_IRUGO, proc_oom_score), REG("oom_adj", S_IRUGO|S_IWUSR, proc_oom_adj_operations), Loading Loading @@ -2922,7 +2907,7 @@ static const struct pid_entry tid_base_stuff[] = { REG("cpuset", S_IRUGO, proc_cpuset_operations), #endif #ifdef CONFIG_CGROUPS REG("cgroup", S_IRUGO, proc_cgroup_operations), ONE("cgroup", S_IRUGO, proc_cgroup_show), #endif ONE("oom_score", S_IRUGO, proc_oom_score), REG("oom_adj", S_IRUGO|S_IWUSR, proc_oom_adj_operations), Loading include/linux/cgroup.h +2 −1 Original line number Diff line number Diff line Loading @@ -37,7 +37,8 @@ extern void cgroup_exit(struct task_struct *p); extern int cgroupstats_build(struct cgroupstats *stats, struct dentry *dentry); extern int proc_cgroup_show(struct seq_file *, void *); extern int proc_cgroup_show(struct seq_file *m, struct pid_namespace *ns, struct pid *pid, struct task_struct *tsk); /* define the enumeration of all cgroup subsystems */ #define SUBSYS(_x) _x ## _cgrp_id, Loading kernel/cgroup.c +3 −15 Original line number Diff line number Diff line Loading @@ -5030,12 +5030,9 @@ core_initcall(cgroup_wq_init); * - Print task's cgroup paths into seq_file, one line for each hierarchy * - Used for /proc/<pid>/cgroup. */ /* TODO: Use a proper seq_file iterator */ int proc_cgroup_show(struct seq_file *m, void *v) int proc_cgroup_show(struct seq_file *m, struct pid_namespace *ns, struct pid *pid, struct task_struct *tsk) { struct pid *pid; struct task_struct *tsk; char *buf, *path; int retval; struct cgroup_root *root; Loading @@ -5045,14 +5042,6 @@ int proc_cgroup_show(struct seq_file *m, void *v) if (!buf) goto out; retval = -ESRCH; pid = m->private; tsk = get_pid_task(pid, PIDTYPE_PID); if (!tsk) goto out_free; retval = 0; mutex_lock(&cgroup_mutex); down_read(&css_set_rwsem); Loading Loading @@ -5082,11 +5071,10 @@ int proc_cgroup_show(struct seq_file *m, void *v) seq_putc(m, '\n'); } retval = 0; out_unlock: up_read(&css_set_rwsem); mutex_unlock(&cgroup_mutex); put_task_struct(tsk); out_free: kfree(buf); out: return retval; Loading Loading
fs/proc/base.c +2 −17 Original line number Diff line number Diff line Loading @@ -376,21 +376,6 @@ static const struct file_operations proc_lstats_operations = { #endif #ifdef CONFIG_CGROUPS static int cgroup_open(struct inode *inode, struct file *file) { struct pid *pid = PROC_I(inode)->pid; return single_open(file, proc_cgroup_show, pid); } static const struct file_operations proc_cgroup_operations = { .open = cgroup_open, .read = seq_read, .llseek = seq_lseek, .release = single_release, }; #endif #ifdef CONFIG_PROC_PID_CPUSET static int cpuset_open(struct inode *inode, struct file *file) Loading Loading @@ -2576,7 +2561,7 @@ static const struct pid_entry tgid_base_stuff[] = { REG("cpuset", S_IRUGO, proc_cpuset_operations), #endif #ifdef CONFIG_CGROUPS REG("cgroup", S_IRUGO, proc_cgroup_operations), ONE("cgroup", S_IRUGO, proc_cgroup_show), #endif ONE("oom_score", S_IRUGO, proc_oom_score), REG("oom_adj", S_IRUGO|S_IWUSR, proc_oom_adj_operations), Loading Loading @@ -2922,7 +2907,7 @@ static const struct pid_entry tid_base_stuff[] = { REG("cpuset", S_IRUGO, proc_cpuset_operations), #endif #ifdef CONFIG_CGROUPS REG("cgroup", S_IRUGO, proc_cgroup_operations), ONE("cgroup", S_IRUGO, proc_cgroup_show), #endif ONE("oom_score", S_IRUGO, proc_oom_score), REG("oom_adj", S_IRUGO|S_IWUSR, proc_oom_adj_operations), Loading
include/linux/cgroup.h +2 −1 Original line number Diff line number Diff line Loading @@ -37,7 +37,8 @@ extern void cgroup_exit(struct task_struct *p); extern int cgroupstats_build(struct cgroupstats *stats, struct dentry *dentry); extern int proc_cgroup_show(struct seq_file *, void *); extern int proc_cgroup_show(struct seq_file *m, struct pid_namespace *ns, struct pid *pid, struct task_struct *tsk); /* define the enumeration of all cgroup subsystems */ #define SUBSYS(_x) _x ## _cgrp_id, Loading
kernel/cgroup.c +3 −15 Original line number Diff line number Diff line Loading @@ -5030,12 +5030,9 @@ core_initcall(cgroup_wq_init); * - Print task's cgroup paths into seq_file, one line for each hierarchy * - Used for /proc/<pid>/cgroup. */ /* TODO: Use a proper seq_file iterator */ int proc_cgroup_show(struct seq_file *m, void *v) int proc_cgroup_show(struct seq_file *m, struct pid_namespace *ns, struct pid *pid, struct task_struct *tsk) { struct pid *pid; struct task_struct *tsk; char *buf, *path; int retval; struct cgroup_root *root; Loading @@ -5045,14 +5042,6 @@ int proc_cgroup_show(struct seq_file *m, void *v) if (!buf) goto out; retval = -ESRCH; pid = m->private; tsk = get_pid_task(pid, PIDTYPE_PID); if (!tsk) goto out_free; retval = 0; mutex_lock(&cgroup_mutex); down_read(&css_set_rwsem); Loading Loading @@ -5082,11 +5071,10 @@ int proc_cgroup_show(struct seq_file *m, void *v) seq_putc(m, '\n'); } retval = 0; out_unlock: up_read(&css_set_rwsem); mutex_unlock(&cgroup_mutex); put_task_struct(tsk); out_free: kfree(buf); out: return retval; Loading