diff options
author | Pedro Tammela <pctammela@mojatatu.com> | 2022-12-06 16:55:13 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2022-12-09 12:18:07 +0300 |
commit | 9f3101dca3a7c69027c65770ac28803768efefa5 (patch) | |
tree | c0260cb8a962dbc3ec94000c349417719eb1da2e /net/sched/cls_cgroup.c | |
parent | 871cf386dd16705b1e08942efd02c58801293d01 (diff) | |
download | linux-9f3101dca3a7c69027c65770ac28803768efefa5.tar.xz |
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_cgroup.c')
-rw-r--r-- | net/sched/cls_cgroup.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/net/sched/cls_cgroup.c b/net/sched/cls_cgroup.c index ed00001b528a..bd9322d71910 100644 --- a/net/sched/cls_cgroup.c +++ b/net/sched/cls_cgroup.c @@ -13,6 +13,7 @@ #include <net/pkt_cls.h> #include <net/sock.h> #include <net/cls_cgroup.h> +#include <net/tc_wrapper.h> struct cls_cgroup_head { u32 handle; @@ -22,8 +23,9 @@ struct cls_cgroup_head { struct rcu_work rwork; }; -static int cls_cgroup_classify(struct sk_buff *skb, const struct tcf_proto *tp, - struct tcf_result *res) +TC_INDIRECT_SCOPE int cls_cgroup_classify(struct sk_buff *skb, + const struct tcf_proto *tp, + struct tcf_result *res) { struct cls_cgroup_head *head = rcu_dereference_bh(tp->root); u32 classid = task_get_classid(skb); |