On 3/8/26 5:35 PM, Zhu Yanjun wrote:
> diff --git a/drivers/infiniband/sw/rxe/rxe_ns.c 
> b/drivers/infiniband/sw/rxe/rxe_ns.c
> new file mode 100644
> index 000000000000..6fe056c81ef3
> --- /dev/null
> +++ b/drivers/infiniband/sw/rxe/rxe_ns.c
> @@ -0,0 +1,136 @@
> +// SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB
> +/*
> + * Copyright (c) 2016 Mellanox Technologies Ltd. All rights reserved.
> + * Copyright (c) 2015 System Fabric Works, Inc. All rights reserved.

neither of those copyrights are relevant here.



> +static void rxe_ns_exit(struct net *net)
> +{
> +     /* called when the network namespace is removed
> +      */
> +     struct rxe_ns_sock *ns_sk = net_generic(net, rxe_pernet_id);
> +     struct sock *sk;
> +
> +     sk = rcu_dereference(ns_sk->rxe_sk4);

[  323.527911] =============================
[  323.527915] WARNING: suspicious RCU usage
[  323.527918] 7.0.0-rc1-debug+ #3 Tainted: G        W
[  323.527922] -----------------------------
[  323.527925] drivers/infiniband/sw/rxe/rxe_ns.c:49 suspicious
rcu_dereference_check() usage!
[  323.527929]

> +     if (sk) {
> +             rcu_assign_pointer(ns_sk->rxe_sk4, NULL);
> +             udp_tunnel_sock_release(sk->sk_socket);
> +     }
> +
> +#if IS_ENABLED(CONFIG_IPV6)
> +     sk = rcu_dereference(ns_sk->rxe_sk6);

[  323.528243] =============================
[  323.528245] WARNING: suspicious RCU usage
[  323.528248] 7.0.0-rc1-debug+ #3 Tainted: G        W
[  323.528251] -----------------------------
[  323.528253] drivers/infiniband/sw/rxe/rxe_ns.c:56 suspicious
rcu_dereference_check() usage!


you should always run tests with a debug kernel that has kmemleak and
lock debugging enabled.


> +#else /* IPV6 */
> +
> +struct sock *rxe_ns_pernet_sk6(struct net *net)
> +{
> +     return NULL;
> +}
> +
> +void rxe_ns_pernet_set_sk6(struct net *net, struct sock *sk)
> +{
> +}

This branch is typically done as an inline in the header file.



Reply via email to