Subject: CVE-2022-48671: cgroup: Add missing cpus_read_lock() to cgroup_attach_task_all()

From: Greg Kroah-Hartman <[email-masked]>

Description
===========

In the Linux kernel, the following vulnerability has been resolved:

cgroup: Add missing cpus_read_lock() to cgroup_attach_task_all()

syzbot is hitting percpu_rwsem_assert_held(&cpu_hotplug_lock) warning at
cpuset_attach() [1], for commit 4f7e7236435ca0ab ("cgroup: Fix
threadgroup_rwsem <-> cpus_read_lock() deadlock") missed that
cpuset_attach() is also called from cgroup_attach_task_all().
Add cpus_read_lock() like what cgroup_procs_write_start() does.

The Linux kernel CVE team has assigned CVE-2022-48671 to this issue.

Affected and fixed versions
===========================

	Issue introduced in 5.4.213 with commit 59c6902a96b4 and fixed in 5.4.215 with commit 07191f984842
	Issue introduced in 5.10.143 with commit dee1e2b18cf5 and fixed in 5.10.145 with commit 9f267393b036
	Issue introduced in 5.15.68 with commit 3bf4bf54069f and fixed in 5.15.70 with commit 5db17805b6ba
	Issue introduced in 5.19.9 with commit c0deb027c99c and fixed in 5.19.11 with commit 99bc25748e39

Please see https://www.kernel.org for a full list of currently supported
kernel versions by the kernel community.

Unaffected versions might change over time as fixes are backported to
older supported kernel versions.  The official CVE entry at
	https://cve.org/CVERecord/?id=CVE-2022-48671
will be updated if fixes are backported, please check that for the most
up to date information about this issue.

Affected files
==============

The file(s) affected by this issue are:
	kernel/cgroup/cgroup-v1.c

Mitigation
==========

The Linux kernel CVE team recommends that you update to the latest
stable kernel version for this, and many other bugfixes.  Individual
changes are never tested alone, but rather are part of a larger kernel
release.  Cherry-picking individual commits is not recommended or
supported by the Linux kernel community at all.  If however, updating to
the latest release is impossible, the individual changes to resolve this
issue can be found at these commits:
	https://git.kernel.org/stable/c/321488cfac7d0eb6d97de467015ff754f85813ff
	https://git.kernel.org/stable/c/07191f984842d50020789ff14c75da436a7f46a9
	https://git.kernel.org/stable/c/9f267393b036f1470fb12fb892d59e7ff8aeb58d
	https://git.kernel.org/stable/c/5db17805b6ba4c34dab303f49aea3562fc25af75
	https://git.kernel.org/stable/c/99bc25748e394d17f9e8b10cc7f273b8e64c1c7e
	https://git.kernel.org/stable/c/43626dade36fa74d3329046f4ae2d7fdefe401c6