Lines Matching refs:probe
729 static void bpf_jit_probe_init(struct bpf_jit_probe *probe) in bpf_jit_probe_init() argument
731 probe->prg = -1; in bpf_jit_probe_init()
732 probe->nop_prg = -1; in bpf_jit_probe_init()
733 probe->reg = -1; in bpf_jit_probe_init()
734 probe->arena_reg = REG_0; in bpf_jit_probe_init()
744 struct bpf_jit_probe *probe) in bpf_jit_probe_emit_nop() argument
746 if (probe->prg == -1 || probe->nop_prg != -1) in bpf_jit_probe_emit_nop()
750 probe->nop_prg = jit->prg; in bpf_jit_probe_emit_nop()
756 struct bpf_jit_probe *probe) in bpf_jit_probe_load_pre() argument
766 probe->arena_reg = REG_W1; in bpf_jit_probe_load_pre()
768 probe->prg = jit->prg; in bpf_jit_probe_load_pre()
769 probe->reg = reg2hex[insn->dst_reg]; in bpf_jit_probe_load_pre()
773 struct bpf_jit_probe *probe) in bpf_jit_probe_store_pre() argument
780 probe->arena_reg = REG_W1; in bpf_jit_probe_store_pre()
781 probe->prg = jit->prg; in bpf_jit_probe_store_pre()
786 struct bpf_jit_probe *probe) in bpf_jit_probe_atomic_pre() argument
795 probe->arena_reg = REG_W1; in bpf_jit_probe_atomic_pre()
796 probe->prg = jit->prg; in bpf_jit_probe_atomic_pre()
800 struct bpf_jit_probe *probe) in bpf_jit_probe_post() argument
807 if (probe->prg == -1) in bpf_jit_probe_post()
810 bpf_jit_probe_emit_nop(jit, probe); in bpf_jit_probe_post()
814 insn = jit->prg_buf + probe->prg; in bpf_jit_probe_post()
815 if (WARN_ON_ONCE(probe->prg + insn_length(*insn) != probe->nop_prg)) in bpf_jit_probe_post()
824 prg = i == 0 ? probe->prg : probe->nop_prg; in bpf_jit_probe_post()
841 ex->data = probe->reg; in bpf_jit_probe_post()
888 struct bpf_jit_probe probe; in bpf_jit_insn() local
896 bpf_jit_probe_init(&probe); in bpf_jit_insn()
1485 bpf_jit_probe_store_pre(jit, insn, &probe); in bpf_jit_insn()
1488 probe.arena_reg, off); in bpf_jit_insn()
1489 err = bpf_jit_probe_post(jit, fp, &probe); in bpf_jit_insn()
1496 bpf_jit_probe_store_pre(jit, insn, &probe); in bpf_jit_insn()
1499 probe.arena_reg, off); in bpf_jit_insn()
1500 err = bpf_jit_probe_post(jit, fp, &probe); in bpf_jit_insn()
1507 bpf_jit_probe_store_pre(jit, insn, &probe); in bpf_jit_insn()
1510 probe.arena_reg, off); in bpf_jit_insn()
1511 err = bpf_jit_probe_post(jit, fp, &probe); in bpf_jit_insn()
1518 bpf_jit_probe_store_pre(jit, insn, &probe); in bpf_jit_insn()
1521 probe.arena_reg, off); in bpf_jit_insn()
1522 err = bpf_jit_probe_post(jit, fp, &probe); in bpf_jit_insn()
1531 bpf_jit_probe_store_pre(jit, insn, &probe); in bpf_jit_insn()
1534 probe.arena_reg, off); in bpf_jit_insn()
1535 err = bpf_jit_probe_post(jit, fp, &probe); in bpf_jit_insn()
1544 bpf_jit_probe_store_pre(jit, insn, &probe); in bpf_jit_insn()
1547 probe.arena_reg, off); in bpf_jit_insn()
1548 err = bpf_jit_probe_post(jit, fp, &probe); in bpf_jit_insn()
1557 bpf_jit_probe_store_pre(jit, insn, &probe); in bpf_jit_insn()
1560 probe.arena_reg, off); in bpf_jit_insn()
1561 err = bpf_jit_probe_post(jit, fp, &probe); in bpf_jit_insn()
1570 bpf_jit_probe_store_pre(jit, insn, &probe); in bpf_jit_insn()
1573 probe.arena_reg, off); in bpf_jit_insn()
1574 err = bpf_jit_probe_post(jit, fp, &probe); in bpf_jit_insn()
1596 probe.arena_reg = dst_reg; in bpf_jit_insn()
1600 bpf_jit_probe_atomic_pre(jit, insn, &probe); \ in bpf_jit_insn()
1604 src_reg, probe.arena_reg, off); \ in bpf_jit_insn()
1605 err = bpf_jit_probe_post(jit, fp, &probe); \ in bpf_jit_insn()
1637 struct bpf_jit_probe load_probe = probe; in bpf_jit_insn()
1648 probe.prg = jit->prg; in bpf_jit_insn()
1649 probe.arena_reg = load_probe.arena_reg; in bpf_jit_insn()
1654 REG_W0, src_reg, probe.arena_reg, off); in bpf_jit_insn()
1655 bpf_jit_probe_emit_nop(jit, &probe); in bpf_jit_insn()
1664 err = bpf_jit_probe_post(jit, fp, &probe); in bpf_jit_insn()
1672 bpf_jit_probe_atomic_pre(jit, insn, &probe); in bpf_jit_insn()
1676 probe.arena_reg, off); in bpf_jit_insn()
1677 err = bpf_jit_probe_post(jit, fp, &probe); in bpf_jit_insn()
1695 bpf_jit_probe_load_pre(jit, insn, &probe); in bpf_jit_insn()
1698 probe.arena_reg, off); in bpf_jit_insn()
1699 err = bpf_jit_probe_post(jit, fp, &probe); in bpf_jit_insn()
1708 bpf_jit_probe_load_pre(jit, insn, &probe); in bpf_jit_insn()
1711 err = bpf_jit_probe_post(jit, fp, &probe); in bpf_jit_insn()
1719 bpf_jit_probe_load_pre(jit, insn, &probe); in bpf_jit_insn()
1722 probe.arena_reg, off); in bpf_jit_insn()
1723 err = bpf_jit_probe_post(jit, fp, &probe); in bpf_jit_insn()
1732 bpf_jit_probe_load_pre(jit, insn, &probe); in bpf_jit_insn()
1735 err = bpf_jit_probe_post(jit, fp, &probe); in bpf_jit_insn()
1743 bpf_jit_probe_load_pre(jit, insn, &probe); in bpf_jit_insn()
1747 probe.arena_reg, off); in bpf_jit_insn()
1748 err = bpf_jit_probe_post(jit, fp, &probe); in bpf_jit_insn()
1756 bpf_jit_probe_load_pre(jit, insn, &probe); in bpf_jit_insn()
1760 err = bpf_jit_probe_post(jit, fp, &probe); in bpf_jit_insn()
1767 bpf_jit_probe_load_pre(jit, insn, &probe); in bpf_jit_insn()
1771 probe.arena_reg, off); in bpf_jit_insn()
1772 err = bpf_jit_probe_post(jit, fp, &probe); in bpf_jit_insn()