]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
xfrm: policy: silence sparse warning in xfrm_policy_unregister_afinfo
authorSabrina Dubroca <sd@queasysnail.net>
Mon, 9 Mar 2026 10:32:41 +0000 (11:32 +0100)
committerSteffen Klassert <steffen.klassert@secunet.com>
Thu, 12 Mar 2026 06:15:50 +0000 (07:15 +0100)
xfrm_policy_afinfo is __rcu, use rcu_access_pointer to silence:

net/xfrm/xfrm_policy.c:4152:43: error: incompatible types in comparison expression (different address spaces):
net/xfrm/xfrm_policy.c:4152:43:    struct xfrm_policy_afinfo const [noderef] __rcu *
net/xfrm/xfrm_policy.c:4152:43:    struct xfrm_policy_afinfo const *

Signed-off-by: Sabrina Dubroca <sd@queasysnail.net>
Reviewed-by: Simon Horman <horms@kernel.org>
Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
net/xfrm/xfrm_policy.c

index 49de5a6f4b85b860b8611ca4e3ed1d74395ba17e..66ac93e652647b92be51f10d776b83379d5cc2bb 100644 (file)
@@ -4156,7 +4156,7 @@ void xfrm_policy_unregister_afinfo(const struct xfrm_policy_afinfo *afinfo)
        int i;
 
        for (i = 0; i < ARRAY_SIZE(xfrm_policy_afinfo); i++) {
-               if (xfrm_policy_afinfo[i] != afinfo)
+               if (rcu_access_pointer(xfrm_policy_afinfo[i]) != afinfo)
                        continue;
                RCU_INIT_POINTER(xfrm_policy_afinfo[i], NULL);
                break;