summaryrefslogtreecommitdiff
path: root/tools/perf/scripts/python/bin
diff options
context:
space:
mode:
authorChristian Brauner <brauner@kernel.org>2026-09-23 09:05:56 +0200
committerChristian Brauner <brauner@kernel.org>2026-09-23 09:05:56 +0200
commitfabd3242122872f260cc0a2df9100fe5d6194916 (patch)
tree79326485830446d475b472ddbbb981c3912e3e0b /tools/perf/scripts/python/bin
parentf615c80a5d3e16eee2377c63e20ae79038ae3376 (diff)
parent2e2142a35d809c3cc726d3b39e7aeee98d9ab71c (diff)
downloadlinux-next-fabd3242122872f260cc0a2df9100fe5d6194916.tar.gz
linux-next-fabd3242122872f260cc0a2df9100fe5d6194916.zip
Merge patch series "Revert "put_mnt_ns(): leave mounts connected""
Christian Brauner <brauner@kernel.org> says: Keeping every mount of a dying namespace attached to its parent changes who owns it. An attached but unmounted mount is owned by its parent: the parent's final mntput() is what drops the child's reference and takes its superblock down. Before that commit only the namespace root was in that position and every other mount dropped its own reference in namespace_unlock(). That ownership rule turns any reference from a child's superblock back to one of its ancestors into a cycle. The obvious case is a loop device: unshare -m sh -c 'mount -o loop /var/tmp/img /var/tmp/mp' mount(8) opens the image from inside the new namespace, so the loop device's backing file pins that namespace's copy of the root mount. When the namespace dies the loop mount stays attached to that copy and is owned by it. The copy can't reach zero because the backing file holds it. The backing file is only put once the ext4 superblock releases the block device and autoclear runs, and that needs the loop mount to go first. Nothing breaks the cycle. The superblock, the loop device and, since the root copy keeps all of its children. systemd-sysext sets up its loop devices in a private mount namespace and relies on autoclear when that namespace goes away, which is how this was found. Anything that holds a file on an ancestor from a mounted filesystem has the same problem. That includes ecryptfs lower paths, erofs file-backed mounts, fuse passthrough backing files. That's a bigger fix and not an -rc change. Revert. * patches from https://patch.msgid.link/20260917-work-put_mnt_ns-revert-v1-0-34d9b8679e68@kernel.org: Revert "put_mnt_ns(): leave mounts connected" Revert "selftests/filesystems: add mntns cleanup test" Link: https://patch.msgid.link/20260917-work-put_mnt_ns-revert-v1-0-34d9b8679e68@kernel.org Signed-off-by: Christian Brauner (Amutable) <brauner@kernel.org>
Diffstat (limited to 'tools/perf/scripts/python/bin')
0 files changed, 0 insertions, 0 deletions