Commit d7e7b9af104c ("fscrypt: stop using keyrings subsystem for
fscrypt_master_key") moved the keyring destruction from __put_super() to
generic_shutdown_super() so that the filesystem's block device(s) are
still available. Unfortunately, this causes a memory leak in the case
where a mount is attempted with the test_dummy_encryption mount option,
but the mount fails after the option has already been processed.
To fix this, attempt the keyring destruction in both places.
Reported-by: syzbot+104c2a89561289cec13e@syzkaller.appspotmail.com
Fixes: d7e7b9af104c ("fscrypt: stop using keyrings subsystem for fscrypt_master_key")
Signed-off-by: Eric Biggers <ebiggers@google.com>
Reviewed-by: Christian Brauner (Microsoft) <brauner@kernel.org>
Link: https://lore.kernel.org/r/20221011213838.209879-1-ebiggers@kernel.org
|
||
|---|---|---|
| .. | ||
| bio.c | ||
| crypto.c | ||
| fname.c | ||
| fscrypt_private.h | ||
| hkdf.c | ||
| hooks.c | ||
| inline_crypt.c | ||
| Kconfig | ||
| keyring.c | ||
| keysetup_v1.c | ||
| keysetup.c | ||
| Makefile | ||
| policy.c | ||