Commit 88ab3108 authored by Davidlohr Bueso's avatar Davidlohr Bueso Committed by David S. Miller

net/udp: Update udp_encap_needed static key to modern api

No changes in refcount semantics -- key init is false; replace

static_key_enable         with   static_branch_enable
static_key_slow_inc|dec   with   static_branch_inc|dec
static_key_false          with   static_branch_unlikely

Added a '_key' suffix to udp and udpv6 encap_needed, for better
self documentation.
Signed-off-by: default avatarDavidlohr Bueso <dbueso@suse.de>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 02786475
...@@ -1875,10 +1875,10 @@ static int __udp_queue_rcv_skb(struct sock *sk, struct sk_buff *skb) ...@@ -1875,10 +1875,10 @@ static int __udp_queue_rcv_skb(struct sock *sk, struct sk_buff *skb)
return 0; return 0;
} }
static struct static_key udp_encap_needed __read_mostly; static DEFINE_STATIC_KEY_FALSE(udp_encap_needed_key);
void udp_encap_enable(void) void udp_encap_enable(void)
{ {
static_key_enable(&udp_encap_needed); static_branch_enable(&udp_encap_needed_key);
} }
EXPORT_SYMBOL(udp_encap_enable); EXPORT_SYMBOL(udp_encap_enable);
...@@ -1902,7 +1902,7 @@ static int udp_queue_rcv_skb(struct sock *sk, struct sk_buff *skb) ...@@ -1902,7 +1902,7 @@ static int udp_queue_rcv_skb(struct sock *sk, struct sk_buff *skb)
goto drop; goto drop;
nf_reset(skb); nf_reset(skb);
if (static_key_false(&udp_encap_needed) && up->encap_type) { if (static_branch_unlikely(&udp_encap_needed_key) && up->encap_type) {
int (*encap_rcv)(struct sock *sk, struct sk_buff *skb); int (*encap_rcv)(struct sock *sk, struct sk_buff *skb);
/* /*
...@@ -2365,7 +2365,7 @@ void udp_destroy_sock(struct sock *sk) ...@@ -2365,7 +2365,7 @@ void udp_destroy_sock(struct sock *sk)
bool slow = lock_sock_fast(sk); bool slow = lock_sock_fast(sk);
udp_flush_pending_frames(sk); udp_flush_pending_frames(sk);
unlock_sock_fast(sk, slow); unlock_sock_fast(sk, slow);
if (static_key_false(&udp_encap_needed) && up->encap_type) { if (static_branch_unlikely(&udp_encap_needed_key) && up->encap_type) {
void (*encap_destroy)(struct sock *sk); void (*encap_destroy)(struct sock *sk);
encap_destroy = READ_ONCE(up->encap_destroy); encap_destroy = READ_ONCE(up->encap_destroy);
if (encap_destroy) if (encap_destroy)
......
...@@ -546,10 +546,10 @@ static __inline__ void udpv6_err(struct sk_buff *skb, ...@@ -546,10 +546,10 @@ static __inline__ void udpv6_err(struct sk_buff *skb,
__udp6_lib_err(skb, opt, type, code, offset, info, &udp_table); __udp6_lib_err(skb, opt, type, code, offset, info, &udp_table);
} }
static struct static_key udpv6_encap_needed __read_mostly; static DEFINE_STATIC_KEY_FALSE(udpv6_encap_needed_key);
void udpv6_encap_enable(void) void udpv6_encap_enable(void)
{ {
static_key_enable(&udpv6_encap_needed); static_branch_enable(&udpv6_encap_needed_key);
} }
EXPORT_SYMBOL(udpv6_encap_enable); EXPORT_SYMBOL(udpv6_encap_enable);
...@@ -561,7 +561,7 @@ static int udpv6_queue_rcv_skb(struct sock *sk, struct sk_buff *skb) ...@@ -561,7 +561,7 @@ static int udpv6_queue_rcv_skb(struct sock *sk, struct sk_buff *skb)
if (!xfrm6_policy_check(sk, XFRM_POLICY_IN, skb)) if (!xfrm6_policy_check(sk, XFRM_POLICY_IN, skb))
goto drop; goto drop;
if (static_key_false(&udpv6_encap_needed) && up->encap_type) { if (static_branch_unlikely(&udpv6_encap_needed_key) && up->encap_type) {
int (*encap_rcv)(struct sock *sk, struct sk_buff *skb); int (*encap_rcv)(struct sock *sk, struct sk_buff *skb);
/* /*
...@@ -1427,7 +1427,7 @@ void udpv6_destroy_sock(struct sock *sk) ...@@ -1427,7 +1427,7 @@ void udpv6_destroy_sock(struct sock *sk)
udp_v6_flush_pending_frames(sk); udp_v6_flush_pending_frames(sk);
release_sock(sk); release_sock(sk);
if (static_key_false(&udpv6_encap_needed) && up->encap_type) { if (static_branch_unlikely(&udpv6_encap_needed_key) && up->encap_type) {
void (*encap_destroy)(struct sock *sk); void (*encap_destroy)(struct sock *sk);
encap_destroy = READ_ONCE(up->encap_destroy); encap_destroy = READ_ONCE(up->encap_destroy);
if (encap_destroy) if (encap_destroy)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment