loop_ctx
__bpf_kfunc int bpf_io_uring_submit_sqes(struct iou_ctx *loop_ctx, u32 nr)
struct io_ring_ctx *ctx = io_loop_demangle_ctx(loop_ctx);
__u8 *bpf_io_uring_get_region(struct iou_ctx *loop_ctx, __u32 region_id,
struct io_ring_ctx *ctx = io_loop_demangle_ctx(loop_ctx);
static int do_lookup(unsigned int elem, struct loop_ctx *lctx)
struct loop_ctx *lctx = (struct loop_ctx *)ctx;
struct loop_ctx lctx;
static int bpf_test_socket_sockopt(__u32 i, struct loop_ctx *lc)
static int bpf_test_ip_sockopt(__u32 i, struct loop_ctx *lc)
static int bpf_test_ipv6_sockopt(__u32 i, struct loop_ctx *lc)
static int bpf_test_tcp_sockopt(__u32 i, struct loop_ctx *lc)
struct loop_ctx lc = { .ctx = ctx, .sk = sk, };
struct num_context loop_ctx = { .i = 0 };
bpf_loop(100, loop_detection_cb, &loop_ctx, 0);
struct num_context loop_ctx = { .i = 0 };
bpf_for_each_map_elem(&map, for_each_map_elem_cb, &loop_ctx, 0);
return choice_arr[loop_ctx.i];
struct num_context loop_ctx = { .i = 0 };
bpf_user_ringbuf_drain(&ringbuf, ringbuf_drain_cb, &loop_ctx, 0);
return choice_arr[loop_ctx.i];
struct num_context loop_ctx = { .i = 0 };
bpf_find_vma(task, 0, find_vma_cb, &loop_ctx, 0);
return choice_arr[loop_ctx.i];
struct buf_context loop_ctx = { .buf = buf };
bpf_loop(100, unsafe_on_2nd_iter_cb, &loop_ctx, 0);
struct num_context loop_ctx = { .i = 32 };
bpf_loop(100, unsafe_on_zero_iter_cb, &loop_ctx, 0);
return choice_arr[loop_ctx.i];
struct num_context loop_ctx = { .i = 0, .j = 1 };
bpf_loop(100, widening_cb, &loop_ctx, 0);
return choice_arr[loop_ctx.j];
struct tcpopt_context loop_ctx = {
bpf_loop(6, tscookie_tcpopt_parse_batch, &loop_ctx, 0);
if (!loop_ctx.option_timestamp)
cookie |= loop_ctx.wscale & TS_OPT_WSCALE_MASK;
if (loop_ctx.option_sack)