Lines Matching refs:kattr
82 static int bpf_test_finish(const union bpf_attr *kattr, in bpf_test_finish() argument
86 void __user *data_out = u64_to_user_ptr(kattr->test.data_out); in bpf_test_finish()
93 if (kattr->test.data_size_out && in bpf_test_finish()
94 copy_size > kattr->test.data_size_out) { in bpf_test_finish()
95 copy_size = kattr->test.data_size_out; in bpf_test_finish()
174 static void *bpf_test_init(const union bpf_attr *kattr, u32 size, in bpf_test_init() argument
177 void __user *data_in = u64_to_user_ptr(kattr->test.data_in); in bpf_test_init()
178 u32 user_size = kattr->test.data_size_in; in bpf_test_init()
200 const union bpf_attr *kattr, in bpf_prog_test_run_tracing() argument
208 if (kattr->test.flags || kattr->test.cpu) in bpf_prog_test_run_tracing()
260 const union bpf_attr *kattr, in bpf_prog_test_run_raw_tp() argument
263 void __user *ctx_in = u64_to_user_ptr(kattr->test.ctx_in); in bpf_prog_test_run_raw_tp()
264 __u32 ctx_size_in = kattr->test.ctx_size_in; in bpf_prog_test_run_raw_tp()
266 int cpu = kattr->test.cpu, err = 0; in bpf_prog_test_run_raw_tp()
270 if (kattr->test.data_in || kattr->test.data_out || in bpf_prog_test_run_raw_tp()
271 kattr->test.ctx_out || kattr->test.duration || in bpf_prog_test_run_raw_tp()
272 kattr->test.repeat) in bpf_prog_test_run_raw_tp()
278 if ((kattr->test.flags & BPF_F_TEST_RUN_ON_CPU) == 0 && cpu != 0) in bpf_prog_test_run_raw_tp()
296 if ((kattr->test.flags & BPF_F_TEST_RUN_ON_CPU) == 0 || in bpf_prog_test_run_raw_tp()
321 static void *bpf_ctx_init(const union bpf_attr *kattr, u32 max_size) in bpf_ctx_init() argument
323 void __user *data_in = u64_to_user_ptr(kattr->test.ctx_in); in bpf_ctx_init()
324 void __user *data_out = u64_to_user_ptr(kattr->test.ctx_out); in bpf_ctx_init()
325 u32 size = kattr->test.ctx_size_in; in bpf_ctx_init()
352 static int bpf_ctx_finish(const union bpf_attr *kattr, in bpf_ctx_finish() argument
356 void __user *data_out = u64_to_user_ptr(kattr->test.ctx_out); in bpf_ctx_finish()
363 if (copy_size > kattr->test.ctx_size_out) { in bpf_ctx_finish()
364 copy_size = kattr->test.ctx_size_out; in bpf_ctx_finish()
479 int bpf_prog_test_run_skb(struct bpf_prog *prog, const union bpf_attr *kattr, in bpf_prog_test_run_skb() argument
485 u32 size = kattr->test.data_size_in; in bpf_prog_test_run_skb()
486 u32 repeat = kattr->test.repeat; in bpf_prog_test_run_skb()
495 if (kattr->test.flags || kattr->test.cpu) in bpf_prog_test_run_skb()
498 data = bpf_test_init(kattr, size, NET_SKB_PAD + NET_IP_ALIGN, in bpf_prog_test_run_skb()
503 ctx = bpf_ctx_init(kattr, sizeof(struct __sk_buff)); in bpf_prog_test_run_skb()
601 ret = bpf_test_finish(kattr, uattr, skb->data, size, retval, duration); in bpf_prog_test_run_skb()
603 ret = bpf_ctx_finish(kattr, uattr, ctx, in bpf_prog_test_run_skb()
615 int bpf_prog_test_run_xdp(struct bpf_prog *prog, const union bpf_attr *kattr, in bpf_prog_test_run_xdp() argument
620 u32 size = kattr->test.data_size_in; in bpf_prog_test_run_xdp()
621 u32 repeat = kattr->test.repeat; in bpf_prog_test_run_xdp()
629 if (kattr->test.ctx_in || kattr->test.ctx_out) in bpf_prog_test_run_xdp()
635 data = bpf_test_init(kattr, max_data_sz, headroom, tailroom); in bpf_prog_test_run_xdp()
653 ret = bpf_test_finish(kattr, uattr, xdp.data, size, retval, duration); in bpf_prog_test_run_xdp()
676 const union bpf_attr *kattr, in bpf_prog_test_run_flow_dissector() argument
679 u32 size = kattr->test.data_size_in; in bpf_prog_test_run_flow_dissector()
681 u32 repeat = kattr->test.repeat; in bpf_prog_test_run_flow_dissector()
695 if (kattr->test.flags || kattr->test.cpu) in bpf_prog_test_run_flow_dissector()
701 data = bpf_test_init(kattr, size, 0, 0); in bpf_prog_test_run_flow_dissector()
710 user_ctx = bpf_ctx_init(kattr, sizeof(struct bpf_flow_keys)); in bpf_prog_test_run_flow_dissector()
760 ret = bpf_test_finish(kattr, uattr, &flow_keys, sizeof(flow_keys), in bpf_prog_test_run_flow_dissector()
763 ret = bpf_ctx_finish(kattr, uattr, user_ctx, in bpf_prog_test_run_flow_dissector()