Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -1875,10 +1875,10 @@ static int __udp_queue_rcv_skb(struct sock *sk, struct sk_buff *skb)
	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)
{
	static_key_enable(&udp_encap_needed);
	static_branch_enable(&udp_encap_needed_key);
}
EXPORT_SYMBOL(udp_encap_enable);

@@ -1902,7 +1902,7 @@ static int udp_queue_rcv_skb(struct sock *sk, struct sk_buff *skb)
		goto drop;
	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);

		/*
@@ -2365,7 +2365,7 @@ void udp_destroy_sock(struct sock *sk)
	bool slow = lock_sock_fast(sk);
	udp_flush_pending_frames(sk);
	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);
		encap_destroy = READ_ONCE(up->encap_destroy);
		if (encap_destroy)
+4 −4
Original line number Diff line number Diff line
@@ -546,10 +546,10 @@ static __inline__ void udpv6_err(struct sk_buff *skb,
	__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)
{
	static_key_enable(&udpv6_encap_needed);
	static_branch_enable(&udpv6_encap_needed_key);
}
EXPORT_SYMBOL(udpv6_encap_enable);

@@ -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))
		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);

		/*
@@ -1427,7 +1427,7 @@ void udpv6_destroy_sock(struct sock *sk)
	udp_v6_flush_pending_frames(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);
		encap_destroy = READ_ONCE(up->encap_destroy);
		if (encap_destroy)