Commit ec64036e authored by Eric Biggers's avatar Eric Biggers
Browse files

fs/super.c: stop calling fscrypt_destroy_keyring() from __put_super()



Now that the key associated with the "test_dummy_operation" mount option
is added on-demand when it's needed, rather than immediately when the
filesystem is mounted, fscrypt_destroy_keyring() no longer needs to be
called from __put_super() to avoid a memory leak on mount failure.

Remove this call, which was causing confusion because it appeared to be
a sleep-in-atomic bug (though it wasn't, for a somewhat-subtle reason).

Signed-off-by: default avatarEric Biggers <ebiggers@google.com>
Link: https://lore.kernel.org/r/20230208062107.199831-5-ebiggers@kernel.org
parent 1ad2a626
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -291,7 +291,6 @@ static void __put_super(struct super_block *s)
		WARN_ON(s->s_inode_lru.node);
		WARN_ON(!list_empty(&s->s_mounts));
		security_sb_free(s);
		fscrypt_destroy_keyring(s);
		put_user_ns(s->s_user_ns);
		kfree(s->s_subtype);
		call_rcu(&s->rcu, destroy_super_rcu);