From: Taehee Yoo Date: Mon, 30 Jul 2018 13:22:59 +0000 (+0900) Subject: lwt_bpf: remove unnecessary rcu_read_lock in run_lwt_bpf X-Git-Tag: v4.19-rc1~140^2~108^2~10 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=1f821611f49a89d2258d256efedd618eda6344be;p=thirdparty%2Fkernel%2Flinux.git 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 Acked-by: Yonghong Song Signed-off-by: Daniel Borkmann --- diff --git a/net/core/lwt_bpf.c b/net/core/lwt_bpf.c index e7e626fb87bb3..a49c7baf62f85 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: