summaryrefslogtreecommitdiffstats
path: root/net/sched/act_bpf.c
diff options
context:
space:
mode:
authorPedro Tammela <pctammela@mojatatu.com>2022-12-06 10:55:12 -0300
committerDavid S. Miller <davem@davemloft.net>2022-12-09 09:18:07 +0000
commit871cf386dd16705b1e08942efd02c58801293d01 (patch)
tree5aa639cf8129d1e5f78cefe0f48ee18a7c098985 /net/sched/act_bpf.c
parent7f0e810220e2d985338ecdd907c1598404db251d (diff)
downloadlinux-871cf386dd16705b1e08942efd02c58801293d01.tar.gz
linux-871cf386dd16705b1e08942efd02c58801293d01.tar.bz2
linux-871cf386dd16705b1e08942efd02c58801293d01.zip
net/sched: avoid indirect act functions on retpoline kernels
Expose the necessary tc act functions and wire up act_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/act_bpf.c')
-rw-r--r--net/sched/act_bpf.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/net/sched/act_bpf.c b/net/sched/act_bpf.c
index b79eee44e24e..b0455fda7d0b 100644
--- a/net/sched/act_bpf.c
+++ b/net/sched/act_bpf.c
@@ -18,6 +18,7 @@
#include <linux/tc_act/tc_bpf.h>
#include <net/tc_act/tc_bpf.h>
+#include <net/tc_wrapper.h>
#define ACT_BPF_NAME_LEN 256
@@ -31,8 +32,9 @@ struct tcf_bpf_cfg {
static struct tc_action_ops act_bpf_ops;
-static int tcf_bpf_act(struct sk_buff *skb, const struct tc_action *act,
- struct tcf_result *res)
+TC_INDIRECT_SCOPE int tcf_bpf_act(struct sk_buff *skb,
+ const struct tc_action *act,
+ struct tcf_result *res)
{
bool at_ingress = skb_at_tc_ingress(skb);
struct tcf_bpf *prog = to_bpf(act);