OSDN Git Service

skmsg: Get rid of sk_psock_bpf_run()
authorCong Wang <cong.wang@bytedance.com>
Tue, 23 Feb 2021 18:49:33 +0000 (10:49 -0800)
committerAlexei Starovoitov <ast@kernel.org>
Fri, 26 Feb 2021 20:28:04 +0000 (12:28 -0800)
It is now nearly identical to bpf_prog_run_pin_on_cpu() and
it has an unused parameter 'psock', so we can just get rid
of it and call bpf_prog_run_pin_on_cpu() directly.

Signed-off-by: Cong Wang <cong.wang@bytedance.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Acked-by: Jakub Sitnicki <jakub@cloudflare.com>
Link: https://lore.kernel.org/bpf/20210223184934.6054-9-xiyou.wangcong@gmail.com
net/core/skmsg.c

index 46e29d2..07f5401 100644 (file)
@@ -749,12 +749,6 @@ out:
 }
 EXPORT_SYMBOL_GPL(sk_psock_msg_verdict);
 
-static int sk_psock_bpf_run(struct sk_psock *psock, struct bpf_prog *prog,
-                           struct sk_buff *skb)
-{
-       return bpf_prog_run_pin_on_cpu(prog, skb);
-}
-
 static void sk_psock_skb_redirect(struct sk_buff *skb)
 {
        struct sk_psock *psock_other;
@@ -812,7 +806,7 @@ int sk_psock_tls_strp_read(struct sk_psock *psock, struct sk_buff *skb)
                skb->sk = psock->sk;
                skb_dst_drop(skb);
                skb_bpf_redirect_clear(skb);
-               ret = sk_psock_bpf_run(psock, prog, skb);
+               ret = bpf_prog_run_pin_on_cpu(prog, skb);
                ret = sk_psock_map_verd(ret, skb_bpf_redirect_fetch(skb));
                skb->sk = NULL;
        }
@@ -899,7 +893,7 @@ static void sk_psock_strp_read(struct strparser *strp, struct sk_buff *skb)
        if (likely(prog)) {
                skb_dst_drop(skb);
                skb_bpf_redirect_clear(skb);
-               ret = sk_psock_bpf_run(psock, prog, skb);
+               ret = bpf_prog_run_pin_on_cpu(prog, skb);
                ret = sk_psock_map_verd(ret, skb_bpf_redirect_fetch(skb));
        }
        sk_psock_verdict_apply(psock, skb, ret);
@@ -922,7 +916,7 @@ static int sk_psock_strp_parse(struct strparser *strp, struct sk_buff *skb)
        prog = READ_ONCE(psock->progs.stream_parser);
        if (likely(prog)) {
                skb->sk = psock->sk;
-               ret = sk_psock_bpf_run(psock, prog, skb);
+               ret = bpf_prog_run_pin_on_cpu(prog, skb);
                skb->sk = NULL;
        }
        rcu_read_unlock();
@@ -1019,7 +1013,7 @@ static int sk_psock_verdict_recv(read_descriptor_t *desc, struct sk_buff *skb,
        if (likely(prog)) {
                skb_dst_drop(skb);
                skb_bpf_redirect_clear(skb);
-               ret = sk_psock_bpf_run(psock, prog, skb);
+               ret = bpf_prog_run_pin_on_cpu(prog, skb);
                ret = sk_psock_map_verd(ret, skb_bpf_redirect_fetch(skb));
        }
        sk_psock_verdict_apply(psock, skb, ret);