Lines Matching refs:kattr
76 static int bpf_test_finish(const union bpf_attr *kattr, in bpf_test_finish() argument
80 void __user *data_out = u64_to_user_ptr(kattr->test.data_out); in bpf_test_finish()
87 if (kattr->test.data_size_out && in bpf_test_finish()
88 copy_size > kattr->test.data_size_out) { in bpf_test_finish()
89 copy_size = kattr->test.data_size_out; in bpf_test_finish()
108 static void *bpf_test_init(const union bpf_attr *kattr, u32 size, in bpf_test_init() argument
111 void __user *data_in = u64_to_user_ptr(kattr->test.data_in); in bpf_test_init()
128 static void *bpf_ctx_init(const union bpf_attr *kattr, u32 max_size) in bpf_ctx_init() argument
130 void __user *data_in = u64_to_user_ptr(kattr->test.ctx_in); in bpf_ctx_init()
131 void __user *data_out = u64_to_user_ptr(kattr->test.ctx_out); in bpf_ctx_init()
132 u32 size = kattr->test.ctx_size_in; in bpf_ctx_init()
159 static int bpf_ctx_finish(const union bpf_attr *kattr, in bpf_ctx_finish() argument
163 void __user *data_out = u64_to_user_ptr(kattr->test.ctx_out); in bpf_ctx_finish()
170 if (copy_size > kattr->test.ctx_size_out) { in bpf_ctx_finish()
171 copy_size = kattr->test.ctx_size_out; in bpf_ctx_finish()
241 int bpf_prog_test_run_skb(struct bpf_prog *prog, const union bpf_attr *kattr, in bpf_prog_test_run_skb() argument
245 u32 size = kattr->test.data_size_in; in bpf_prog_test_run_skb()
246 u32 repeat = kattr->test.repeat; in bpf_prog_test_run_skb()
255 data = bpf_test_init(kattr, size, NET_SKB_PAD + NET_IP_ALIGN, in bpf_prog_test_run_skb()
260 ctx = bpf_ctx_init(kattr, sizeof(struct __sk_buff)); in bpf_prog_test_run_skb()
330 ret = bpf_test_finish(kattr, uattr, skb->data, size, retval, duration); in bpf_prog_test_run_skb()
332 ret = bpf_ctx_finish(kattr, uattr, ctx, in bpf_prog_test_run_skb()
342 int bpf_prog_test_run_xdp(struct bpf_prog *prog, const union bpf_attr *kattr, in bpf_prog_test_run_xdp() argument
345 u32 size = kattr->test.data_size_in; in bpf_prog_test_run_xdp()
346 u32 repeat = kattr->test.repeat; in bpf_prog_test_run_xdp()
353 if (kattr->test.ctx_in || kattr->test.ctx_out) in bpf_prog_test_run_xdp()
356 data = bpf_test_init(kattr, size, XDP_PACKET_HEADROOM + NET_IP_ALIGN, 0); in bpf_prog_test_run_xdp()
374 ret = bpf_test_finish(kattr, uattr, xdp.data, size, retval, duration); in bpf_prog_test_run_xdp()
397 const union bpf_attr *kattr, in bpf_prog_test_run_flow_dissector() argument
400 u32 size = kattr->test.data_size_in; in bpf_prog_test_run_flow_dissector()
402 u32 repeat = kattr->test.repeat; in bpf_prog_test_run_flow_dissector()
419 data = bpf_test_init(kattr, size, 0, 0); in bpf_prog_test_run_flow_dissector()
428 user_ctx = bpf_ctx_init(kattr, sizeof(struct bpf_flow_keys)); in bpf_prog_test_run_flow_dissector()
478 ret = bpf_test_finish(kattr, uattr, &flow_keys, sizeof(flow_keys), in bpf_prog_test_run_flow_dissector()
481 ret = bpf_ctx_finish(kattr, uattr, user_ctx, in bpf_prog_test_run_flow_dissector()