diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2017-04-12 09:38:16 +0300 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2017-04-12 09:38:16 +0300 |
commit | 06ea4c38bce80f3eb99b01d7c17419eb1a49fec2 (patch) | |
tree | 2af3797bce33f38ecfe39aa34ecec01e8ccd4b9c /drivers/nvme/target | |
parent | af94bdfa798b7da92cc82609acca61a287a004a4 (diff) | |
parent | bfb0b80db5f9dca5ac0a5fd0edb765ee555e5a8e (diff) | |
download | linux-06ea4c38bce80f3eb99b01d7c17419eb1a49fec2.tar.xz |
Merge branch 'for-4.11-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup
Pull cgroup fixes from Tejun Heo:
"This contains fixes for two long standing subtle bugs:
- kthread_bind() on a new kthread binds it to specific CPUs and
prevents userland from messing with the affinity or cgroup
membership. Unfortunately, for cgroup membership, there's a window
between kthread creation and kthread_bind*() invocation where the
kthread can be moved into a non-root cgroup by userland.
Depending on what controllers are in effect, this can assign the
kthread unexpected attributes. For example, in the reported case,
workqueue workers ended up in a non-root cpuset cgroups and had
their CPU affinities overridden. This broke workqueue invariants
and led to workqueue stalls.
Fixed by closing the window between kthread creation and
kthread_bind() as suggested by Oleg.
- There was a bug in cgroup mount path which could allow two
competing mount attempts to attach the same cgroup_root to two
different superblocks.
This was caused by mishandling return value from kernfs_pin_sb().
Fixed"
* 'for-4.11-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup:
cgroup: avoid attaching a cgroup root to two different superblocks
cgroup, kthread: close race window where new kthreads can be migrated to non-root cgroups
Diffstat (limited to 'drivers/nvme/target')
0 files changed, 0 insertions, 0 deletions