cfi_state
struct cfi_state user_cfi_state;
__u64 cfi_state;
user_cfi.cfi_status.cfi_state |= PTRACE_CFI_LP_EN_STATE;
user_cfi.cfi_status.cfi_state |= is_indir_lp_locked(target) ?
user_cfi.cfi_status.cfi_state |= (regs->status & SR_ELP) ?
user_cfi.cfi_status.cfi_state |= (PTRACE_CFI_SS_EN_STATE |
user_cfi.cfi_status.cfi_state |= is_shstk_locked(target) ?
if ((user_cfi.cfi_status.cfi_state &
(user_cfi.cfi_status.cfi_state & PRACE_CFI_STATE_INVALID_MASK))
if (user_cfi.cfi_status.cfi_state &
(user_cfi.cfi_status.cfi_state & PTRACE_CFI_SS_PTR_STATE))
int init_orc_entry(struct orc_entry *orc, struct cfi_state *cfi, struct instruction *insn)
int init_orc_entry(struct orc_entry *orc, struct cfi_state *cfi, struct instruction *insn)
sizeof(struct cfi_state *));
static void set_func_state(struct cfi_state *state)
struct cfi_state cfi = init_cfi;
struct cfi_state *cfi = &state->cfi;
struct cfi_state *cfi = &state->cfi;
struct cfi_state *cfi,
static void save_reg(struct cfi_state *cfi, unsigned char reg, int base, int offset)
static void restore_reg(struct cfi_state *cfi, unsigned char reg)
struct cfi_state *cfi, struct stack_op *op)
static void init_cfi_state(struct cfi_state *cfi)
static struct cfi_state init_cfi;
struct cfi_state **alt_cfi;
static struct cfi_state *cfi_alloc(void)
struct cfi_state *cfi = calloc(1, sizeof(struct cfi_state));
static bool insn_cfi_match(struct instruction *insn, struct cfi_state *cfi2)
struct cfi_state *cfi1 = insn->cfi;
static struct cfi_state func_cfi;
static inline bool cficmp(struct cfi_state *cfi1, struct cfi_state *cfi2)
static struct cfi_state force_undefined_cfi;
sizeof(struct cfi_state) - sizeof(struct hlist_node));
static inline u32 cfi_key(struct cfi_state *cfi)
static struct cfi_state *cfi_hash_find_or_add(struct cfi_state *cfi)
struct cfi_state *obj;
static void cfi_hash_add(struct cfi_state *cfi)
struct cfi_state *cfi;
struct cfi_state cfi;
struct cfi_state **cfi;
struct cfi_state *cfi;
int init_orc_entry(struct orc_entry *orc, struct cfi_state *cfi, struct instruction *insn);
struct cfi_state *cfi = alt_group->cfi[i];
struct cfi_state *cprev, *cnext;
if ((cfi_reg.cfi_status.cfi_state & CFI_ENABLE_MASK) != CFI_ENABLE_MASK)
cfi_reg.cfi_status.cfi_state);
if (!(cfi_reg.cfi_status.cfi_state & PTRACE_CFI_ELP_STATE))
cfi_reg.cfi_status.cfi_state = 0;