Documented in 2 files:
Defined in 2 files as a prototype:
- arch/x86/include/asm/insn.h, line 153 (as a prototype)
- tools/arch/x86/include/asm/insn.h, line 153 (as a prototype)
Defined in 2 files as a function:
Referenced in 5 files:
- arch/x86/events/intel/ds.c, line 2061
- arch/x86/events/utils.c
- arch/x86/lib/insn-eval.c, line 1567
- arch/x86/lib/insn.c
- tools/arch/x86/lib/insn.c
Smatch caller information:
arch/x86/events/intel/ds.c intel_pmu_pebs_fixup_ip() -> insn_init()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | insn | 5944919894212804608 |
| PARAM_VALUE | 2 | buf_len | (-255)-4096 |
| PARAM_VALUE | 3 | x86_64 | 0-1 |
| FUZZY_MAX | 3 | x86_64 | 1 |
| HARD_MAX | 3 | x86_64 | 1 |
| NOCHECK_CALL |
arch/x86/lib/insn.c insn_decode() -> insn_init()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | insn | 4096-ptr_max |
| PARAM_VALUE | 2 | buf_len | 0-15 |
| PARAM_VALUE | 3 | x86_64 | 1 |
| BUF_SIZE | 1 | kaddr | (-1)-0,5-6,15 |
| BUF_SIZE | 1 | kaddr | (-1)-0,5-6,15 |
| DATA_SOURCE | 0 | insn | $0 |
| DATA_SOURCE | 1 | kaddr | $1 |
| DATA_SOURCE | 2 | buf_len | $2 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| UNITS | 1 | kaddr | unit_byte |
| HALF_LOCKED2 | _T->lock | ||
| HALF_LOCKED2 | global &jump_label_mutex | ||
| HALF_LOCKED2 | global &text_mutex |
arch/x86/lib/insn.c insn_decode() -> insn_init()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | insn | 2693768499051995136,3929561995604525064,6747283956112052232,8874595658658983936 |
| PARAM_VALUE | 2 | buf_len | 15-16 |
| PARAM_VALUE | 3 | x86_64 | 0-1 |
| BUF_SIZE | 1 | kaddr | 15-16 |
| BUF_SIZE | 1 | kaddr | 15-16 |
| DATA_SOURCE | 0 | insn | $0 |
| DATA_SOURCE | 1 | kaddr | $1 |
| DATA_SOURCE | 2 | buf_len | $2 |
| FUZZY_MAX | 3 | x86_64 | 1 |
| HARD_MAX | 2 | buf_len | 16 |
| HARD_MAX | 3 | x86_64 | 1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| UNITS | 2 | buf_len | unit_byte |
| HALF_LOCKED2 | &uprobe->consumer_rwsem |
arch/x86/lib/insn-eval.c insn_decode_from_regs() -> insn_init()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | insn | 3929561995604525064,6747283956112052232,7961320843205591040 |
| PARAM_VALUE | 2 | buf_len | s32min-(-23),(-21)-(-1),1-s32max |
| PARAM_VALUE | 3 | x86_64 | 0-1 |
| BUF_SIZE | 1 | kaddr | 15 |
| DATA_SOURCE | 0 | insn | $0 |
| DATA_SOURCE | 1 | kaddr | $2 |
| DATA_SOURCE | 2 | buf_len | $3 |
| PREEMPT_ADD | |||
| NOCHECK_CALL | |||
| USER_PTR | 1 | kaddr |
arch/x86/events/utils.c get_branch_type() -> insn_init()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | insn | 5918861713348698112 |
| PARAM_VALUE | 1 | kaddr | 2801444249335357440,9223372036854775808-u64max |
| PARAM_VALUE | 2 | buf_len | s32min-(-1),1-s32max |
| PARAM_VALUE | 3 | x86_64 | 0-1 |
| BUF_SIZE | 1 | kaddr | (-1),15 |
| BUF_SIZE | 1 | kaddr | (-1),15 |
| FUZZY_MAX | 2 | buf_len | 15 |
| FUZZY_MAX | 3 | x86_64 | 1 |
| HARD_MAX | 3 | x86_64 | 1 |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL |
arch/x86/events/utils.c get_branch_type() -> insn_init()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | insn | 5918861713348698112 |
| PARAM_VALUE | 0 | insn->displacement.got | 1 |
| PARAM_VALUE | 0 | insn->displacement.nbytes | 0-2,4 |
| PARAM_VALUE | 0 | insn->end_kaddr | 4096-ptr_max |
| PARAM_VALUE | 0 | insn->immediate.got | 1 |
| PARAM_VALUE | 0 | insn->immediate.nbytes | 0-2,4 |
| PARAM_VALUE | 0 | insn->immediate1.got | 0-1 |
| PARAM_VALUE | 0 | insn->immediate1.nbytes | 0,2,4 |
| PARAM_VALUE | 0 | insn->immediate2.got | 0-1 |
| PARAM_VALUE | 0 | insn->immediate2.nbytes | 0-2,4 |
| PARAM_VALUE | 0 | insn->length | 1-255 |
| PARAM_VALUE | 0 | insn->modrm.got | 0-1 |
| PARAM_VALUE | 0 | insn->modrm.value | 0-255 |
| PARAM_VALUE | 0 | insn->moffset1.got | 0-1 |
| PARAM_VALUE | 0 | insn->moffset1.nbytes | 0,2,4 |
| PARAM_VALUE | 0 | insn->moffset2.got | 0-1 |
| PARAM_VALUE | 0 | insn->moffset2.nbytes | 0,4 |
| PARAM_VALUE | 0 | insn->opcode.value | 0 |
| PARAM_VALUE | 0 | insn->opnd_bytes | 2,4,8 |
| PARAM_VALUE | 0 | insn->prefixes.value | 0 |
| PARAM_VALUE | 0 | insn->sib.got | 0-1 |
| PARAM_VALUE | 0 | insn->sib.nbytes | 0-1 |
| PARAM_VALUE | 0 | insn->sib.value | 0-255 |
| PARAM_VALUE | 0 | insn->vex_prefix.value | 0 |
| PARAM_VALUE | 0 | insn->x86_64 | 0-1 |
| PARAM_VALUE | 0 | insn->xop_prefix.got | 0 |
| PARAM_VALUE | 0 | insn->xop_prefix.nbytes | 0 |
| PARAM_VALUE | 0 | insn->xop_prefix.value | 0 |
| PARAM_VALUE | 1 | kaddr | 4096-ptr_max |
| PARAM_VALUE | 2 | buf_len | 0-s32max |
| PARAM_VALUE | 3 | x86_64 | 0-1 |
| FUZZY_MAX | 2 | buf_len | 0 |
| FUZZY_MAX | 3 | x86_64 | 1 |
| HARD_MAX | 3 | x86_64 | 1 |
| MEM_ZERO | 0 | insn | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | flags |