diff options
author | Pedro Tammela <pctammela@mojatatu.com> | 2022-12-06 14:55:13 +0100 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2022-12-09 10:18:07 +0100 |
commit | 9f3101dca3a7c69027c65770ac28803768efefa5 (patch) | |
tree | c0260cb8a962dbc3ec94000c349417719eb1da2e /net/sched/cls_bpf.c | |
parent | net/sched: avoid indirect act functions on retpoline kernels (diff) | |
download | linux-9f3101dca3a7c69027c65770ac28803768efefa5.tar.xz linux-9f3101dca3a7c69027c65770ac28803768efefa5.zip |
net/sched: avoid indirect classify functions on retpoline kernels
Expose the necessary tc classifier functions and wire up cls_api to use
direct calls in retpoline kernels.
Signed-off-by: Pedro Tammela <pctammela@mojatatu.com>
Reviewed-by: Jamal Hadi Salim <jhs@mojatatu.com>
Reviewed-by: Victor Nogueira <victor@mojatatu.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/sched/cls_bpf.c')
-rw-r--r-- | net/sched/cls_bpf.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/net/sched/cls_bpf.c b/net/sched/cls_bpf.c index bc317b3eac12..466c26df853a 100644 --- a/net/sched/cls_bpf.c +++ b/net/sched/cls_bpf.c @@ -19,6 +19,7 @@ #include <net/rtnetlink.h> #include <net/pkt_cls.h> #include <net/sock.h> +#include <net/tc_wrapper.h> MODULE_LICENSE("GPL"); MODULE_AUTHOR("Daniel Borkmann <dborkman@redhat.com>"); @@ -77,8 +78,9 @@ static int cls_bpf_exec_opcode(int code) } } -static int cls_bpf_classify(struct sk_buff *skb, const struct tcf_proto *tp, - struct tcf_result *res) +TC_INDIRECT_SCOPE int cls_bpf_classify(struct sk_buff *skb, + const struct tcf_proto *tp, + struct tcf_result *res) { struct cls_bpf_head *head = rcu_dereference_bh(tp->root); bool at_ingress = skb_at_tc_ingress(skb); |