Commit ac30d8ce authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull cgroup fixes from Tejun Heo:
 "Two cgroup fixes:

   - fix a NULL deref when trying to poll PSI in the root cgroup

   - fix confusing controller parsing corner case when mounting cgroup
     v1 hierarchies

  And doc / maintainer file updates"

* 'for-5.11-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup:
  cgroup: update PSI file description in docs
  cgroup: fix psi monitor for root cgroup
  MAINTAINERS: Update my email address
  MAINTAINERS: Remove stale URLs for cpuset
  cgroup-v1: add disabled controller check in cgroup1_parse_param()
parents 25cbda46 74bdd45c
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -1029,7 +1029,7 @@ All time durations are in microseconds.
	one number is written, $MAX is updated.

  cpu.pressure
	A read-only nested-key file which exists on non-root cgroups.
	A read-write nested-keyed file.

	Shows pressure stall information for CPU. See
	:ref:`Documentation/accounting/psi.rst <psi>` for details.
@@ -1475,7 +1475,7 @@ PAGE_SIZE multiple when read back.
	reduces the impact on the workload and memory management.

  memory.pressure
	A read-only nested-key file which exists on non-root cgroups.
	A read-only nested-keyed file.

	Shows pressure stall information for memory. See
	:ref:`Documentation/accounting/psi.rst <psi>` for details.
@@ -1714,7 +1714,7 @@ IO Interface Files
	  8:16 rbps=2097152 wbps=max riops=max wiops=max

  io.pressure
	A read-only nested-key file which exists on non-root cgroups.
	A read-only nested-keyed file.

	Shows pressure stall information for IO. See
	:ref:`Documentation/accounting/psi.rst <psi>` for details.
+2 −4
Original line number Diff line number Diff line
@@ -4468,7 +4468,7 @@ F: include/linux/console*
CONTROL GROUP (CGROUP)
M:	Tejun Heo <tj@kernel.org>
M:	Li Zefan <lizefan@huawei.com>
M:	Zefan Li <lizefan.x@bytedance.com>
M:	Johannes Weiner <hannes@cmpxchg.org>
L:	cgroups@vger.kernel.org
S:	Maintained
@@ -4492,11 +4492,9 @@ F: block/blk-throttle.c
F:	include/linux/blk-cgroup.h
CONTROL GROUP - CPUSET
M:	Li Zefan <lizefan@huawei.com>
M:	Zefan Li <lizefan.x@bytedance.com>
L:	cgroups@vger.kernel.org
S:	Maintained
W:	http://www.bullopensource.org/cpuset/
W:	http://oss.sgi.com/projects/cpusets/
T:	git git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup.git
F:	Documentation/admin-guide/cgroup-v1/cpusets.rst
F:	include/linux/cpuset.h
+3 −0
Original line number Diff line number Diff line
@@ -917,6 +917,9 @@ int cgroup1_parse_param(struct fs_context *fc, struct fs_parameter *param)
		for_each_subsys(ss, i) {
			if (strcmp(param->key, ss->legacy_name))
				continue;
			if (!cgroup_ssid_enabled(i) || cgroup1_ssid_disabled(i))
				return invalfc(fc, "Disabled controller '%s'",
					       param->key);
			ctx->subsys_mask |= (1 << i);
			return 0;
		}
+3 −1
Original line number Diff line number Diff line
@@ -3564,6 +3564,7 @@ static ssize_t cgroup_pressure_write(struct kernfs_open_file *of, char *buf,
{
	struct psi_trigger *new;
	struct cgroup *cgrp;
	struct psi_group *psi;

	cgrp = cgroup_kn_lock_live(of->kn, false);
	if (!cgrp)
@@ -3572,7 +3573,8 @@ static ssize_t cgroup_pressure_write(struct kernfs_open_file *of, char *buf,
	cgroup_get(cgrp);
	cgroup_kn_unlock(of->kn);

	new = psi_trigger_create(&cgrp->psi, buf, nbytes, res);
	psi = cgroup_ino(cgrp) == 1 ? &psi_system : &cgrp->psi;
	new = psi_trigger_create(psi, buf, nbytes, res);
	if (IS_ERR(new)) {
		cgroup_put(cgrp);
		return PTR_ERR(new);