btrfs: fix leak of fs devices after removing btrfs module
authorFilipe Manana <fdmanana@suse.com>
Tue, 13 Dec 2022 10:42:26 +0000 (10:42 +0000)
committerDavid Sterba <dsterba@suse.com>
Thu, 15 Dec 2022 18:16:54 +0000 (19:16 +0100)
commitc68f72900a12a56c5e9890e6f2ca5119234c9a75
tree9db2e272a61a40fa26783b2469d7696695640a5e
parentdb0a4a7b8e95f9312a59a67cbd5bc589f090e13d
btrfs: fix leak of fs devices after removing btrfs module

When removing the btrfs module we are not calling btrfs_cleanup_fs_uuids()
which results in leaking btrfs_fs_devices structures and other resources.
This is a regression recently introduced by a refactoring of the module
initialization and exit sequence, which simply removed the call to
btrfs_cleanup_fs_uuids() in the exit path, resulting in the leaks.

So fix this by calling btrfs_cleanup_fs_uuids() at exit_btrfs_fs().

Fixes: 5565b8e0adcd ("btrfs: make module init/exit match their sequence")
Reviewed-by: Josef Bacik <josef@toxicpanda.com>
Signed-off-by: Filipe Manana <fdmanana@suse.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/super.c