summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTao Cui <cuitao@kylinos.cn>2026-08-28 17:16:58 +0800
committerChristian Brauner <brauner@kernel.org>2026-08-31 12:09:55 +0200
commitfec2c3c0744bf3ce2aaafb1fd3fd5289cfd4814c (patch)
treee9699ff1a7ed985e542f4c40f6271cd2b6ac943b
parentcee9395acd8043be0644b25c34bfa86623f2b935 (diff)
downloadlinux-next-fec2c3c0744bf3ce2aaafb1fd3fd5289cfd4814c.tar.gz
linux-next-fec2c3c0744bf3ce2aaafb1fd3fd5289cfd4814c.zip
userns: remove dead key_put() on the create_user_ns() error path
create_user_ns() jumps to fail_keyring when setup_userns_sysctls() fails. At that point ns was freshly allocated with kmem_cache_zalloc() and ns->persistent_keyring_register is only ever assigned later, lazily, from key_get_persistent() (security/keys/persistent.c). The key_put() therefore always receives NULL. Remove the dead call. Signed-off-by: Tao Cui <cuitao@kylinos.cn> Link: https://patch.msgid.link/20260828091659.358700-2-cui.tao@linux.dev Reviewed-by: Jan Kara <jack@suse.cz> Reviewed-by: Bradley Morgan <brads@mainlining.org> Signed-off-by: Christian Brauner (Amutable) <brauner@kernel.org>
-rw-r--r--kernel/user_namespace.c3
1 files changed, 0 insertions, 3 deletions
diff --git a/kernel/user_namespace.c b/kernel/user_namespace.c
index 0bed462e9b2a..e9e04ce167df 100644
--- a/kernel/user_namespace.c
+++ b/kernel/user_namespace.c
@@ -162,9 +162,6 @@ int create_user_ns(struct cred *new)
ns_tree_add(ns);
return 0;
fail_keyring:
-#ifdef CONFIG_PERSISTENT_KEYRINGS
- key_put(ns->persistent_keyring_register);
-#endif
ns_common_free(ns);
fail_free:
kmem_cache_free(user_ns_cachep, ns);