aboutsummaryrefslogtreecommitdiffstats
path: root/net/core/lwt_bpf.c
diff options
context:
space:
mode:
authorTaehee Yoo <ap420073@gmail.com>2018-07-30 22:22:59 +0900
committerDaniel Borkmann <daniel@iogearbox.net>2018-07-31 09:26:34 +0200
commit1f821611f49a89d2258d256efedd618eda6344be (patch)
tree6aa90613c1da0e52ed834ed130b233e17f30721b /net/core/lwt_bpf.c
parentbpf: add End.DT6 action to bpf_lwt_seg6_action helper (diff)
downloadlinux-dev-1f821611f49a89d2258d256efedd618eda6344be.tar.xz
linux-dev-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/lwt_bpf.c')
-rw-r--r--net/core/lwt_bpf.c2
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: