2021-09-18 14:29:51

by Yajun Deng

[permalink] [raw]
Subject: [PATCH net-next] net: net_namespace: Fix undefined member in key_remove_domain()

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 <[email protected]>
---
net/core/net_namespace.c | 4 ++++
1 file changed, 4 insertions(+)

diff --git a/net/core/net_namespace.c b/net/core/net_namespace.c
index a448a9b5bb2d..202fa5eacd0f 100644
--- a/net/core/net_namespace.c
+++ b/net/core/net_namespace.c
@@ -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);
}
--
2.32.0


2021-09-19 17:00:46

by patchwork-bot+netdevbpf

[permalink] [raw]
Subject: Re: [PATCH net-next] net: net_namespace: Fix undefined member in key_remove_domain()

Hello:

This patch was applied to netdev/net-next.git (refs/heads/master):

On Sat, 18 Sep 2021 17:04:10 +0800 you wrote:
> 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 <[email protected]>
> ---
> net/core/net_namespace.c | 4 ++++
> 1 file changed, 4 insertions(+)

Here is the summary with links:
- [net-next] net: net_namespace: Fix undefined member in key_remove_domain()
https://git.kernel.org/netdev/net-next/c/aed0826b0cf2

You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html


2021-09-20 07:01:07

by Cong Wang

[permalink] [raw]
Subject: Re: [PATCH net-next] net: net_namespace: Fix undefined member in key_remove_domain()

On Sat, Sep 18, 2021 at 7:28 AM Yajun Deng <[email protected]> wrote:
>
> 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.

But key_remove_domain() is just a nop if !CONFIG_KEYS:

#else /* CONFIG_KEYS */
...
#define key_remove_domain(d) do { } while(0)

So what exactly are you fixing?

Thanks.

2021-09-20 21:30:54

by Yajun Deng

[permalink] [raw]
Subject: Re: Re: [PATCH net-next] net: net_namespace: Fix undefined member in key_remove_domain()

From: Cong Wang
Date: 2021-09-20 07:25
To: Yajun Deng
CC: David Miller; Jakub Kicinski; Linux Kernel Network Developers; LKML
Subject: Re: [PATCH net-next] net: net_namespace: Fix undefined member in key_remove_domain()
On Sat, Sep 18, 2021 at 7:28 AM Yajun Deng <[email protected]> wrote:
>
> 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.
 
But key_remove_domain() is just a nop if !CONFIG_KEYS:
 
#else /* CONFIG_KEYS */
...
#define key_remove_domain(d)            do { } while(0)

Yes, you're right.
 
So what exactly are you fixing?
 
Thanks.