Lines Matching refs:kattr
129 static int bpf_test_finish(const union bpf_attr *kattr, in bpf_test_finish() argument
133 void __user *data_out = u64_to_user_ptr(kattr->test.data_out); in bpf_test_finish()
140 if (kattr->test.data_size_out && in bpf_test_finish()
141 copy_size > kattr->test.data_size_out) { in bpf_test_finish()
142 copy_size = kattr->test.data_size_out; in bpf_test_finish()
221 static void *bpf_test_init(const union bpf_attr *kattr, u32 size, in bpf_test_init() argument
224 void __user *data_in = u64_to_user_ptr(kattr->test.data_in); in bpf_test_init()
225 u32 user_size = kattr->test.data_size_in; in bpf_test_init()
248 const union bpf_attr *kattr, in bpf_prog_test_run_tracing() argument
256 if (kattr->test.flags || kattr->test.cpu) in bpf_prog_test_run_tracing()
308 const union bpf_attr *kattr, in bpf_prog_test_run_raw_tp() argument
311 void __user *ctx_in = u64_to_user_ptr(kattr->test.ctx_in); in bpf_prog_test_run_raw_tp()
312 __u32 ctx_size_in = kattr->test.ctx_size_in; in bpf_prog_test_run_raw_tp()
314 int cpu = kattr->test.cpu, err = 0; in bpf_prog_test_run_raw_tp()
318 if (kattr->test.data_in || kattr->test.data_out || in bpf_prog_test_run_raw_tp()
319 kattr->test.ctx_out || kattr->test.duration || in bpf_prog_test_run_raw_tp()
320 kattr->test.repeat) in bpf_prog_test_run_raw_tp()
327 if ((kattr->test.flags & BPF_F_TEST_RUN_ON_CPU) == 0 && cpu != 0) in bpf_prog_test_run_raw_tp()
345 if ((kattr->test.flags & BPF_F_TEST_RUN_ON_CPU) == 0 || in bpf_prog_test_run_raw_tp()
370 static void *bpf_ctx_init(const union bpf_attr *kattr, u32 max_size) in bpf_ctx_init() argument
372 void __user *data_in = u64_to_user_ptr(kattr->test.ctx_in); in bpf_ctx_init()
373 void __user *data_out = u64_to_user_ptr(kattr->test.ctx_out); in bpf_ctx_init()
374 u32 size = kattr->test.ctx_size_in; in bpf_ctx_init()
401 static int bpf_ctx_finish(const union bpf_attr *kattr, in bpf_ctx_finish() argument
405 void __user *data_out = u64_to_user_ptr(kattr->test.ctx_out); in bpf_ctx_finish()
412 if (copy_size > kattr->test.ctx_size_out) { in bpf_ctx_finish()
413 copy_size = kattr->test.ctx_size_out; in bpf_ctx_finish()
537 int bpf_prog_test_run_skb(struct bpf_prog *prog, const union bpf_attr *kattr, in bpf_prog_test_run_skb() argument
543 u32 size = kattr->test.data_size_in; in bpf_prog_test_run_skb()
544 u32 repeat = kattr->test.repeat; in bpf_prog_test_run_skb()
553 if (kattr->test.flags || kattr->test.cpu) in bpf_prog_test_run_skb()
556 data = bpf_test_init(kattr, size, NET_SKB_PAD + NET_IP_ALIGN, in bpf_prog_test_run_skb()
561 ctx = bpf_ctx_init(kattr, sizeof(struct __sk_buff)); in bpf_prog_test_run_skb()
658 ret = bpf_test_finish(kattr, uattr, skb->data, size, retval, duration); in bpf_prog_test_run_skb()
660 ret = bpf_ctx_finish(kattr, uattr, ctx, in bpf_prog_test_run_skb()
671 int bpf_prog_test_run_xdp(struct bpf_prog *prog, const union bpf_attr *kattr, in bpf_prog_test_run_xdp() argument
676 u32 size = kattr->test.data_size_in; in bpf_prog_test_run_xdp()
677 u32 repeat = kattr->test.repeat; in bpf_prog_test_run_xdp()
688 if (kattr->test.ctx_in || kattr->test.ctx_out) in bpf_prog_test_run_xdp()
694 data = bpf_test_init(kattr, max_data_sz, headroom, tailroom); in bpf_prog_test_run_xdp()
712 ret = bpf_test_finish(kattr, uattr, xdp.data, size, retval, duration); in bpf_prog_test_run_xdp()
735 const union bpf_attr *kattr, in bpf_prog_test_run_flow_dissector() argument
739 u32 size = kattr->test.data_size_in; in bpf_prog_test_run_flow_dissector()
741 u32 repeat = kattr->test.repeat; in bpf_prog_test_run_flow_dissector()
753 if (kattr->test.flags || kattr->test.cpu) in bpf_prog_test_run_flow_dissector()
759 data = bpf_test_init(kattr, size, 0, 0); in bpf_prog_test_run_flow_dissector()
768 user_ctx = bpf_ctx_init(kattr, sizeof(struct bpf_flow_keys)); in bpf_prog_test_run_flow_dissector()
794 ret = bpf_test_finish(kattr, uattr, &flow_keys, sizeof(flow_keys), in bpf_prog_test_run_flow_dissector()
797 ret = bpf_ctx_finish(kattr, uattr, user_ctx, in bpf_prog_test_run_flow_dissector()
806 int bpf_prog_test_run_sk_lookup(struct bpf_prog *prog, const union bpf_attr *kattr, in bpf_prog_test_run_sk_lookup() argument
812 u32 repeat = kattr->test.repeat; in bpf_prog_test_run_sk_lookup()
820 if (kattr->test.flags || kattr->test.cpu) in bpf_prog_test_run_sk_lookup()
823 if (kattr->test.data_in || kattr->test.data_size_in || kattr->test.data_out || in bpf_prog_test_run_sk_lookup()
824 kattr->test.data_size_out) in bpf_prog_test_run_sk_lookup()
830 user_ctx = bpf_ctx_init(kattr, sizeof(*user_ctx)); in bpf_prog_test_run_sk_lookup()
899 ret = bpf_test_finish(kattr, uattr, NULL, 0, retval, duration); in bpf_prog_test_run_sk_lookup()
901 ret = bpf_ctx_finish(kattr, uattr, user_ctx, sizeof(*user_ctx)); in bpf_prog_test_run_sk_lookup()