f2fs: move release of block devices to after kill_block_super()
authorEric Biggers <ebiggers@google.com>
Wed, 27 Dec 2023 17:14:28 +0000 (11:14 -0600)
committerEric Biggers <ebiggers@google.com>
Thu, 28 Dec 2023 03:55:59 +0000 (21:55 -0600)
commit275dca4630c165edea9abe27113766bc1173f878
treed46277ae82ccfd3d6227bded26012e3ef8f01e56
parentc1f1f5bf413936a93fea0f920e9aafff3551ad56
f2fs: move release of block devices to after kill_block_super()

Call destroy_device_list() and free the f2fs_sb_info from
kill_f2fs_super(), after the call to kill_block_super().  This is
necessary to order it after the call to fscrypt_destroy_keyring() once
generic_shutdown_super() starts calling fscrypt_destroy_keyring() just
after calling ->put_super.  This is because fscrypt_destroy_keyring()
may call into f2fs_get_devices() via the fscrypt_operations.

Reviewed-by: Chao Yu <chao@kernel.org>
Link: https://lore.kernel.org/r/20231227171429.9223-2-ebiggers@kernel.org
Signed-off-by: Eric Biggers <ebiggers@google.com>
fs/f2fs/super.c