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 /drivers/net/geneve.c | |
parent | 1aad9634b94ef65d72110a6fc6625c890db9667c (diff) | |
download | linux-stable-fc1ca3348a74a1afaa7ffebc2b2f2cc149e11278.tar.gz linux-stable-fc1ca3348a74a1afaa7ffebc2b2f2cc149e11278.tar.bz2 linux-stable-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 'drivers/net/geneve.c')
-rw-r--r-- | drivers/net/geneve.c | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/drivers/net/geneve.c b/drivers/net/geneve.c index 9d26d1b965d2..9caff2e01d19 100644 --- a/drivers/net/geneve.c +++ b/drivers/net/geneve.c @@ -517,18 +517,15 @@ static struct sk_buff *geneve_gro_receive(struct sock *sk, type = gh->proto_type; - rcu_read_lock(); ptype = gro_find_receive_by_type(type); if (!ptype) - goto out_unlock; + goto out; skb_gro_pull(skb, gh_len); skb_gro_postpull_rcsum(skb, gh, gh_len); pp = call_gro_receive(ptype->callbacks.gro_receive, head, skb); flush = 0; -out_unlock: - rcu_read_unlock(); out: skb_gro_flush_final(skb, pp, flush); |