Skip to content

Commit 103b4f5

Browse files
qsnklassert
authored andcommitted
xfrm: add rcu_access_pointer to silence sparse warning for xfrm_input_afinfo
xfrm_input_afinfo is __rcu, we should use rcu_access_pointer to avoid a sparse warning: net/xfrm/xfrm_input.c:78:21: error: incompatible types in comparison expression (different address spaces): net/xfrm/xfrm_input.c:78:21: struct xfrm_input_afinfo const [noderef] __rcu * net/xfrm/xfrm_input.c:78:21: struct xfrm_input_afinfo const * Signed-off-by: Sabrina Dubroca <[email protected]> Reviewed-by: Simon Horman <[email protected]> Signed-off-by: Steffen Klassert <[email protected]>
1 parent 2da6901 commit 103b4f5

1 file changed

Lines changed: 4 additions & 1 deletion

File tree

net/xfrm/xfrm_input.c

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,10 @@ int xfrm_input_unregister_afinfo(const struct xfrm_input_afinfo *afinfo)
7575

7676
spin_lock_bh(&xfrm_input_afinfo_lock);
7777
if (likely(xfrm_input_afinfo[afinfo->is_ipip][afinfo->family])) {
78-
if (unlikely(xfrm_input_afinfo[afinfo->is_ipip][afinfo->family] != afinfo))
78+
const struct xfrm_input_afinfo *cur;
79+
80+
cur = rcu_access_pointer(xfrm_input_afinfo[afinfo->is_ipip][afinfo->family]);
81+
if (unlikely(cur != afinfo))
7982
err = -EINVAL;
8083
else
8184
RCU_INIT_POINTER(xfrm_input_afinfo[afinfo->is_ipip][afinfo->family], NULL);

0 commit comments

Comments
 (0)