OSDN Git Service

net: net_namespace: Fix undefined member in key_remove_domain()
authorYajun Deng <yajun.deng@linux.dev>
Sat, 18 Sep 2021 09:04:10 +0000 (17:04 +0800)
committerDavid S. Miller <davem@davemloft.net>
Sun, 19 Sep 2021 11:43:04 +0000 (12:43 +0100)
The key_domain member in struct net only exists if we define CONFIG_KEYS.
So we should add the define when we used key_domain.

Fixes: 9b242610514f ("keys: Network namespace domain tag")
Signed-off-by: Yajun Deng <yajun.deng@linux.dev>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/core/net_namespace.c

index a448a9b..202fa5e 100644 (file)
@@ -473,7 +473,9 @@ struct net *copy_net_ns(unsigned long flags,
 
        if (rv < 0) {
 put_userns:
+#ifdef CONFIG_KEYS
                key_remove_domain(net->key_domain);
+#endif
                put_user_ns(user_ns);
                net_free(net);
 dec_ucounts:
@@ -605,7 +607,9 @@ static void cleanup_net(struct work_struct *work)
        list_for_each_entry_safe(net, tmp, &net_exit_list, exit_list) {
                list_del_init(&net->exit_list);
                dec_net_namespaces(net->ucounts);
+#ifdef CONFIG_KEYS
                key_remove_domain(net->key_domain);
+#endif
                put_user_ns(net->user_ns);
                net_free(net);
        }