diff options
| author | Tao Cui <cuitao@kylinos.cn> | 2026-08-28 17:16:58 +0800 |
|---|---|---|
| committer | Christian Brauner <brauner@kernel.org> | 2026-08-31 12:09:55 +0200 |
| commit | fec2c3c0744bf3ce2aaafb1fd3fd5289cfd4814c (patch) | |
| tree | e9699ff1a7ed985e542f4c40f6271cd2b6ac943b | |
| parent | cee9395acd8043be0644b25c34bfa86623f2b935 (diff) | |
| download | linux-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.c | 3 |
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); |
