Lines Matching refs:insn_state
105 int *insn_state = env->cfg.insn_state; in push_insn() local
107 if (e == FALLTHROUGH && insn_state[t] >= (DISCOVERED | FALLTHROUGH)) in push_insn()
110 if (e == BRANCH && insn_state[t] >= (DISCOVERED | BRANCH)) in push_insn()
125 if (insn_state[w] == 0) { in push_insn()
127 insn_state[t] = DISCOVERED | e; in push_insn()
128 insn_state[w] = DISCOVERED; in push_insn()
133 } else if ((insn_state[w] & 0xF0) == DISCOVERED) { in push_insn()
140 } else if (insn_state[w] == EXPLORED) { in push_insn()
142 insn_state[t] = DISCOVERED | e; in push_insn()
358 int *insn_state = env->cfg.insn_state; in visit_gotox_insn() local
383 if (insn_state[w]) in visit_gotox_insn()
390 insn_state[w] |= DISCOVERED; in visit_gotox_insn()
565 int *insn_stack, *insn_state; in bpf_check_cfg() local
568 insn_state = env->cfg.insn_state = kvzalloc_objs(int, insn_cnt, in bpf_check_cfg()
570 if (!insn_state) in bpf_check_cfg()
576 kvfree(insn_state); in bpf_check_cfg()
584 insn_state[0] = DISCOVERED; /* mark 1st insn as discovered */ in bpf_check_cfg()
595 insn_state[t] = EXPLORED; in bpf_check_cfg()
615 if (ex_insn_beg && insn_state[ex_insn_beg] != EXPLORED) { in bpf_check_cfg()
616 insn_state[ex_insn_beg] = DISCOVERED; in bpf_check_cfg()
625 if (insn_state[i] != EXPLORED) { in bpf_check_cfg()
631 if (insn_state[i + 1] != 0) { in bpf_check_cfg()
644 kvfree(insn_state); in bpf_check_cfg()
646 env->cfg.insn_state = env->cfg.insn_stack = NULL; in bpf_check_cfg()