diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2019-07-24 12:45:46 -0400 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2019-07-26 07:59:06 -0400 |
commit | 19a1c4092e7ca1ad1a72ac5535f902c483372cd5 (patch) | |
tree | d7bbba61680553364deec2a068fe0da41f1905cc /ipc | |
parent | 18253e034d2aeee140f82fc9fe89c4bce5c81799 (diff) | |
download | linux-19a1c4092e7ca1ad1a72ac5535f902c483372cd5.tar.gz linux-19a1c4092e7ca1ad1a72ac5535f902c483372cd5.tar.bz2 linux-19a1c4092e7ca1ad1a72ac5535f902c483372cd5.zip |
fix the struct mount leak in umount_tree()
We need to drop everything we remove from the tree, whether
mnt_has_parent() is true or not. Usually the bug manifests as a slow
memory leak (leaked struct mount for initramfs); it becomes much more
visible in mount_subtree() users, such as btrfs. There we leak
a struct mount for btrfs superblock being mounted, which prevents
fs shutdown on subsequent umount.
Fixes: 56cbb429d911 ("switch the remnants of releasing the mountpoint away from fs_pin")
Reported-by: Nikolay Borisov <nborisov@suse.com>
Tested-by: Nikolay Borisov <nborisov@suse.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'ipc')
0 files changed, 0 insertions, 0 deletions