Lines Matching refs:insn
81 void AppendInstruction(std::string* dst, size_t pc, const sock_filter& insn) { in AppendInstruction() argument
83 switch (BPF_CLASS(insn.code)) { in AppendInstruction()
85 if (insn.code == BPF_LD + BPF_W + BPF_ABS) { in AppendInstruction()
86 base::StringAppendF(dst, "LOAD %" PRIu32 " // ", insn.k); in AppendInstruction()
88 (insn.k - offsetof(struct arch_seccomp_data, args)) / in AppendInstruction()
90 if (maybe_argno < 6 && insn.k == SECCOMP_ARG_LSB_IDX(maybe_argno)) { in AppendInstruction()
93 insn.k == SECCOMP_ARG_MSB_IDX(maybe_argno)) { in AppendInstruction()
96 base::StringAppendF(dst, "%s\n", DataOffsetName(insn.k)); in AppendInstruction()
103 if (BPF_OP(insn.code) == BPF_JA) { in AppendInstruction()
104 base::StringAppendF(dst, "JMP %zu\n", pc + insn.k + 1); in AppendInstruction()
108 JmpOpToken(insn.code), insn.k, pc + insn.jt + 1, pc + insn.jf + 1); in AppendInstruction()
112 base::StringAppendF(dst, "RET 0x%" PRIx32 " // ", insn.k); in AppendInstruction()
113 if ((insn.k & SECCOMP_RET_ACTION) == SECCOMP_RET_TRAP) { in AppendInstruction()
115 insn.k & SECCOMP_RET_DATA); in AppendInstruction()
116 } else if ((insn.k & SECCOMP_RET_ACTION) == SECCOMP_RET_ERRNO) { in AppendInstruction()
118 insn.k & SECCOMP_RET_DATA); in AppendInstruction()
119 } else if ((insn.k & SECCOMP_RET_ACTION) == SECCOMP_RET_TRACE) { in AppendInstruction()
121 insn.k & SECCOMP_RET_DATA); in AppendInstruction()
122 } else if (insn.k == SECCOMP_RET_ALLOW) { in AppendInstruction()
124 } else if (insn.k == SECCOMP_RET_KILL) { in AppendInstruction()
131 if (BPF_OP(insn.code) == BPF_NEG) { in AppendInstruction()
135 AluOpToken(insn.code), insn.k); in AppendInstruction()