diff options
author | Taehee Yoo <ap420073@gmail.com> | 2018-07-30 22:22:59 +0900 |
---|---|---|
committer | Daniel Borkmann <daniel@iogearbox.net> | 2018-07-31 09:26:34 +0200 |
commit | 1f821611f49a89d2258d256efedd618eda6344be (patch) | |
tree | 6aa90613c1da0e52ed834ed130b233e17f30721b /net/core | |
parent | 486cdf21583e5b1fad488a3e4f0a5242a31c0ffa (diff) | |
download | linux-stable-1f821611f49a89d2258d256efedd618eda6344be.tar.gz linux-stable-1f821611f49a89d2258d256efedd618eda6344be.tar.bz2 linux-stable-1f821611f49a89d2258d256efedd618eda6344be.zip |
lwt_bpf: remove unnecessary rcu_read_lock in run_lwt_bpf
run_lwt_bpf is called by bpf_{input/output/xmit}.
These functions are already protected by rcu_read_lock.
because lwtunnel_{input/output/xmit} holds rcu_read_lock
and then calls bpf_{input/output/xmit}.
So that rcu_read_lock in the run_lwt_bpf is unnecessary.
Signed-off-by: Taehee Yoo <ap420073@gmail.com>
Acked-by: Yonghong Song <yhs@fb.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Diffstat (limited to 'net/core')
-rw-r--r-- | net/core/lwt_bpf.c | 2 |
1 files changed, 0 insertions, 2 deletions
diff --git a/net/core/lwt_bpf.c b/net/core/lwt_bpf.c index e7e626fb87bb..a49c7baf62f8 100644 --- a/net/core/lwt_bpf.c +++ b/net/core/lwt_bpf.c @@ -50,10 +50,8 @@ static int run_lwt_bpf(struct sk_buff *skb, struct bpf_lwt_prog *lwt, * mixing with BH RCU lock doesn't work. */ preempt_disable(); - rcu_read_lock(); bpf_compute_data_pointers(skb); ret = bpf_prog_run_save_cb(lwt->prog, skb); - rcu_read_unlock(); switch (ret) { case BPF_OK: |