diff options
author | Eric Dumazet <edumazet@google.com> | 2021-11-23 14:56:07 -0800 |
---|---|---|
committer | Jakub Kicinski <kuba@kernel.org> | 2021-11-24 17:21:42 -0800 |
commit | fc1ca3348a74a1afaa7ffebc2b2f2cc149e11278 (patch) | |
tree | f3a16dc7567519f4257f4caf884d4ab770f0bf92 /net/ipv4/udp_offload.c | |
parent | 1aad9634b94ef65d72110a6fc6625c890db9667c (diff) | |
download | lwn-fc1ca3348a74a1afaa7ffebc2b2f2cc149e11278.tar.gz lwn-fc1ca3348a74a1afaa7ffebc2b2f2cc149e11278.zip |
gro: remove rcu_read_lock/rcu_read_unlock from gro_receive handlers
All gro_receive() handlers are called from dev_gro_receive()
while rcu_read_lock() has been called.
There is no point stacking more rcu_read_lock()
Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'net/ipv4/udp_offload.c')
-rw-r--r-- | net/ipv4/udp_offload.c | 2 |
1 files changed, 0 insertions, 2 deletions
diff --git a/net/ipv4/udp_offload.c b/net/ipv4/udp_offload.c index cbeb8965d1b7..3be5c083879d 100644 --- a/net/ipv4/udp_offload.c +++ b/net/ipv4/udp_offload.c @@ -628,13 +628,11 @@ struct sk_buff *udp4_gro_receive(struct list_head *head, struct sk_buff *skb) inet_gro_compute_pseudo); skip: NAPI_GRO_CB(skb)->is_ipv6 = 0; - rcu_read_lock(); if (static_branch_unlikely(&udp_encap_needed_key)) sk = udp4_gro_lookup_skb(skb, uh->source, uh->dest); pp = udp_gro_receive(head, skb, uh, sk); - rcu_read_unlock(); return pp; flush: |