Lines Matching refs:diag
237 env->diag = kzalloc_obj(struct bpf_diag, GFP_KERNEL_ACCOUNT); in bpf_diag_init()
238 if (!env->diag) in bpf_diag_init()
241 INIT_LIST_HEAD(&env->diag->fmt_chunks); in bpf_diag_init()
247 if (env->diag) in bpf_diag_init_frame()
248 state->diag_frame_id = ++env->diag->frame_id_gen; in bpf_diag_init_frame()
253 struct bpf_diag *diag = env->diag; in diag_fmt_alloc() local
258 if (!diag || !size || size > INT_MAX) in diag_fmt_alloc()
261 if (!list_empty(&diag->fmt_chunks)) { in diag_fmt_alloc()
262 chunk = list_last_entry(&diag->fmt_chunks, struct diag_fmt_chunk, node); in diag_fmt_alloc()
274 list_add_tail(&chunk->node, &diag->fmt_chunks); in diag_fmt_alloc()
325 struct bpf_diag *diag = env->diag; in diag_fmt_save() local
328 if (!diag || list_empty(&diag->fmt_chunks)) in diag_fmt_save()
331 mark.chunk = list_last_entry(&diag->fmt_chunks, struct diag_fmt_chunk, node); in diag_fmt_save()
338 struct bpf_diag *diag = env->diag; in diag_fmt_restore() local
341 if (!diag) in diag_fmt_restore()
344 while (!list_empty(&diag->fmt_chunks)) { in diag_fmt_restore()
345 chunk = list_last_entry(&diag->fmt_chunks, struct diag_fmt_chunk, node); in diag_fmt_restore()
360 struct bpf_diag *diag = env->diag; in bpf_diag_free() local
362 if (!diag) in bpf_diag_free()
366 kvfree(diag->log.events); in bpf_diag_free()
367 kfree(diag); in bpf_diag_free()
368 env->diag = NULL; in bpf_diag_free()
397 struct bpf_diag *diag = env->diag; in bpf_diag_event_log_save() local
399 return diag ? log_end(&diag->log) : 0; in bpf_diag_event_log_save()
404 struct bpf_diag *diag = env->diag; in bpf_diag_event_log_restore() local
408 if (!diag) in bpf_diag_event_log_restore()
411 log = &diag->log; in bpf_diag_event_log_restore()
448 struct bpf_diag *diag = env->diag; in diag_append_history() local
452 if (!diag) in diag_append_history()
454 log = &diag->log; in diag_append_history()
816 if (!env->diag) in bpf_diag_source()
821 scratch = &env->diag->scratch; in bpf_diag_source()
1308 const struct bpf_diag_log *log = env->diag ? &env->diag->log : NULL; in bpf_diag_unreadable_reg()
1623 struct bpf_diag *diag = env->diag; in bpf_diag_mod_begin() local
1625 if (!diag) in bpf_diag_mod_begin()
1627 diag->mod.active = reg_to_target(env, reg, &diag->mod.target); in bpf_diag_mod_begin()
1628 if (!diag->mod.active) in bpf_diag_mod_begin()
1630 diag->mod.target_reg_snapshot = *reg; in bpf_diag_mod_begin()
1631 diag->mod.insn_idx = env->insn_idx; in bpf_diag_mod_begin()
1632 diag->mod.reason = reason; in bpf_diag_mod_begin()
1633 diag->mod.origin_valid = origin && reg_to_target(env, origin, &diag->mod.origin); in bpf_diag_mod_begin()
1638 struct bpf_diag *diag = env->diag; in bpf_diag_mod_end() local
1641 if (!diag || !diag->mod.active) in bpf_diag_mod_end()
1643 diag->mod.active = false; in bpf_diag_mod_end()
1648 new_reg = target_to_reg(env, &diag->mod.target); in bpf_diag_mod_end()
1651 diag_record_mod(env, diag->mod.insn_idx, diag->mod.target, diag->mod.reason, in bpf_diag_mod_end()
1652 &diag->mod.target_reg_snapshot, new_reg, in bpf_diag_mod_end()
1653 diag->mod.origin_valid ? &diag->mod.origin : NULL); in bpf_diag_mod_end()
1661 if (!env->diag || reg->type == NOT_INIT || !reg_to_target(env, reg, &target)) in bpf_diag_record_scrub()
2288 if (!env->diag) in diag_print_history()
2290 log = &env->diag->log; in diag_print_history()