Lines Matching refs:kattr

131 static int bpf_test_finish(const union bpf_attr *kattr,  in bpf_test_finish()  argument
135 void __user *data_out = u64_to_user_ptr(kattr->test.data_out); in bpf_test_finish()
142 if (kattr->test.data_size_out && in bpf_test_finish()
143 copy_size > kattr->test.data_size_out) { in bpf_test_finish()
144 copy_size = kattr->test.data_size_out; in bpf_test_finish()
252 static void *bpf_test_init(const union bpf_attr *kattr, u32 size, in bpf_test_init() argument
255 void __user *data_in = u64_to_user_ptr(kattr->test.data_in); in bpf_test_init()
256 u32 user_size = kattr->test.data_size_in; in bpf_test_init()
278 const union bpf_attr *kattr, in bpf_prog_test_run_tracing() argument
286 if (kattr->test.flags || kattr->test.cpu) in bpf_prog_test_run_tracing()
338 const union bpf_attr *kattr, in bpf_prog_test_run_raw_tp() argument
341 void __user *ctx_in = u64_to_user_ptr(kattr->test.ctx_in); in bpf_prog_test_run_raw_tp()
342 __u32 ctx_size_in = kattr->test.ctx_size_in; in bpf_prog_test_run_raw_tp()
344 int cpu = kattr->test.cpu, err = 0; in bpf_prog_test_run_raw_tp()
348 if (kattr->test.data_in || kattr->test.data_out || in bpf_prog_test_run_raw_tp()
349 kattr->test.ctx_out || kattr->test.duration || in bpf_prog_test_run_raw_tp()
350 kattr->test.repeat) in bpf_prog_test_run_raw_tp()
357 if ((kattr->test.flags & BPF_F_TEST_RUN_ON_CPU) == 0 && cpu != 0) in bpf_prog_test_run_raw_tp()
371 if ((kattr->test.flags & BPF_F_TEST_RUN_ON_CPU) == 0 || in bpf_prog_test_run_raw_tp()
395 static void *bpf_ctx_init(const union bpf_attr *kattr, u32 max_size) in bpf_ctx_init() argument
397 void __user *data_in = u64_to_user_ptr(kattr->test.ctx_in); in bpf_ctx_init()
398 void __user *data_out = u64_to_user_ptr(kattr->test.ctx_out); in bpf_ctx_init()
399 u32 size = kattr->test.ctx_size_in; in bpf_ctx_init()
426 static int bpf_ctx_finish(const union bpf_attr *kattr, in bpf_ctx_finish() argument
430 void __user *data_out = u64_to_user_ptr(kattr->test.ctx_out); in bpf_ctx_finish()
437 if (copy_size > kattr->test.ctx_size_out) { in bpf_ctx_finish()
438 copy_size = kattr->test.ctx_size_out; in bpf_ctx_finish()
565 int bpf_prog_test_run_skb(struct bpf_prog *prog, const union bpf_attr *kattr, in bpf_prog_test_run_skb() argument
571 u32 size = kattr->test.data_size_in; in bpf_prog_test_run_skb()
572 u32 repeat = kattr->test.repeat; in bpf_prog_test_run_skb()
581 if (kattr->test.flags || kattr->test.cpu) in bpf_prog_test_run_skb()
584 data = bpf_test_init(kattr, size, NET_SKB_PAD + NET_IP_ALIGN, in bpf_prog_test_run_skb()
589 ctx = bpf_ctx_init(kattr, sizeof(struct __sk_buff)); in bpf_prog_test_run_skb()
686 ret = bpf_test_finish(kattr, uattr, skb->data, size, retval, duration); in bpf_prog_test_run_skb()
688 ret = bpf_ctx_finish(kattr, uattr, ctx, in bpf_prog_test_run_skb()
757 int bpf_prog_test_run_xdp(struct bpf_prog *prog, const union bpf_attr *kattr, in bpf_prog_test_run_xdp() argument
762 u32 size = kattr->test.data_size_in; in bpf_prog_test_run_xdp()
763 u32 repeat = kattr->test.repeat; in bpf_prog_test_run_xdp()
776 ctx = bpf_ctx_init(kattr, sizeof(struct xdp_md)); in bpf_prog_test_run_xdp()
793 data = bpf_test_init(kattr, max_data_sz, headroom, tailroom); in bpf_prog_test_run_xdp()
823 ret = bpf_test_finish(kattr, uattr, xdp.data_meta, size, retval, in bpf_prog_test_run_xdp()
826 ret = bpf_ctx_finish(kattr, uattr, ctx, in bpf_prog_test_run_xdp()
855 const union bpf_attr *kattr, in bpf_prog_test_run_flow_dissector() argument
859 u32 size = kattr->test.data_size_in; in bpf_prog_test_run_flow_dissector()
861 u32 repeat = kattr->test.repeat; in bpf_prog_test_run_flow_dissector()
873 if (kattr->test.flags || kattr->test.cpu) in bpf_prog_test_run_flow_dissector()
879 data = bpf_test_init(kattr, size, 0, 0); in bpf_prog_test_run_flow_dissector()
888 user_ctx = bpf_ctx_init(kattr, sizeof(struct bpf_flow_keys)); in bpf_prog_test_run_flow_dissector()
914 ret = bpf_test_finish(kattr, uattr, &flow_keys, sizeof(flow_keys), in bpf_prog_test_run_flow_dissector()
917 ret = bpf_ctx_finish(kattr, uattr, user_ctx, in bpf_prog_test_run_flow_dissector()
926 int bpf_prog_test_run_sk_lookup(struct bpf_prog *prog, const union bpf_attr *kattr, in bpf_prog_test_run_sk_lookup() argument
932 u32 repeat = kattr->test.repeat; in bpf_prog_test_run_sk_lookup()
940 if (kattr->test.flags || kattr->test.cpu) in bpf_prog_test_run_sk_lookup()
943 if (kattr->test.data_in || kattr->test.data_size_in || kattr->test.data_out || in bpf_prog_test_run_sk_lookup()
944 kattr->test.data_size_out) in bpf_prog_test_run_sk_lookup()
950 user_ctx = bpf_ctx_init(kattr, sizeof(*user_ctx)); in bpf_prog_test_run_sk_lookup()
1019 ret = bpf_test_finish(kattr, uattr, NULL, 0, retval, duration); in bpf_prog_test_run_sk_lookup()
1021 ret = bpf_ctx_finish(kattr, uattr, user_ctx, sizeof(*user_ctx)); in bpf_prog_test_run_sk_lookup()
1030 const union bpf_attr *kattr, in bpf_prog_test_run_syscall() argument
1033 void __user *ctx_in = u64_to_user_ptr(kattr->test.ctx_in); in bpf_prog_test_run_syscall()
1034 __u32 ctx_size_in = kattr->test.ctx_size_in; in bpf_prog_test_run_syscall()
1040 if (kattr->test.data_in || kattr->test.data_out || in bpf_prog_test_run_syscall()
1041 kattr->test.ctx_out || kattr->test.duration || in bpf_prog_test_run_syscall()
1042 kattr->test.repeat || kattr->test.flags) in bpf_prog_test_run_syscall()