Documented in 2 files:

Defined in 2 files as a prototype:

Defined in 2 files as a function:

Referenced in 7 files:

Smatch caller information:

arch/x86/kernel/umip.c identify_insn() -> insn_get_modrm()

Type Parameter Key Value
PARAM_VALUE 0 insn 7961320843205591040
PARAM_VALUE 0 insn->displacement.got 0-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->modrm.got 0-1
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->sib.got 0-1
PARAM_VALUE 0 insn->sib.nbytes 0-1
PARAM_VALUE 0 insn->vex_prefix.value 0
PARAM_VALUE 0 insn->x86_64 0-1
PARAM_VALUE 0 insn->xop_prefix.nbytes 0
DATA_SOURCE 0 insn $0
PREEMPT_ADD
NOCHECK_CALL
USER_DATA 0 insn->immediate.value (-128)-255
USER_DATA 0 insn->immediate1.value (-128)-255
USER_DATA 0 insn->immediate2.value (-128)-255
USER_DATA 0 insn->moffset1.value (-128)-255
USER_DATA 0 insn->moffset2.value (-128)-255
USER_DATA 0 insn->sib.value 0-255

arch/x86/lib/insn.c insn_get_sib() -> insn_get_modrm()

Type Parameter Key Value
PARAM_VALUE 0 insn 4096-ptr_max
PARAM_VALUE 0 insn->sib.got 0
PARAM_VALUE 0 insn->vex_prefix.value 0
DATA_SOURCE 0 insn $0
PREEMPT_ADD
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 insn->displacement.value (-128)-255
USER_DATA 0 insn->immediate.value (-128)-255
USER_DATA 0 insn->immediate1.value (-128)-255
USER_DATA 0 insn->immediate2.value (-128)-255
USER_DATA 0 insn->modrm.value 0-255
USER_DATA 0 insn->moffset1.value (-128)-255
USER_DATA 0 insn->moffset2.value (-128)-255
USER_DATA 0 insn->rex_prefix.value 0-255
USER_DATA 0 insn->sib.value 0-255
USER_DATA 0 *insn->end_kaddr 0-255
USER_DATA 0 *insn->kaddr 0-255[u]
USER_DATA 0 *insn->next_byte 0-255

arch/x86/lib/insn.c insn_rip_relative() -> insn_get_modrm()

Type Parameter Key Value
PARAM_VALUE 0 insn 1875746886108372992,2693768499051995136,3904299021120065536,5071505957062545408
PARAM_VALUE 0 insn->addr_bytes 0
PARAM_VALUE 0 insn->attr 0
PARAM_VALUE 0 insn->displacement.got 0-1
PARAM_VALUE 0 insn->displacement.nbytes 0-2,4
PARAM_VALUE 0 insn->emulate_prefix_size 0
PARAM_VALUE 0 insn->end_kaddr 0,4096-ptr_max
PARAM_VALUE 0 insn->immediate.got 0-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->kaddr 0
PARAM_VALUE 0 insn->length 0
PARAM_VALUE 0 insn->modrm.got 0-1
PARAM_VALUE 0 insn->modrm.nbytes 0
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-2,4
PARAM_VALUE 0 insn->next_byte 0,4096-u64max
PARAM_VALUE 0 insn->opcode.got 0
PARAM_VALUE 0 insn->opcode.nbytes 0
PARAM_VALUE 0 insn->opnd_bytes 0,2,4,8
PARAM_VALUE 0 insn->prefixes.got 0
PARAM_VALUE 0 insn->prefixes.nbytes 0
PARAM_VALUE 0 insn->prefixes.value 0
PARAM_VALUE 0 insn->rex_prefix.got 0
PARAM_VALUE 0 insn->rex_prefix.nbytes 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.got 0
PARAM_VALUE 0 insn->vex_prefix.nbytes 0
PARAM_VALUE 0 insn->vex_prefix.value 0
PARAM_VALUE 0 insn->x86_64 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 0 *insn->prefixes.bytes 0-255
PARAM_VALUE 0 *insn->rex_prefix.bytes 0-255
PARAM_VALUE 0 *insn->vex_prefix.bytes 0-255
DATA_SOURCE 0 insn $0
FUZZY_MAX 0 insn->opnd_bytes 0
RX_PATH
TASK_NOT_RUNNING
HALF_LOCKED2 &uprobe->consumer_rwsem
HALF_LOCKED2 _T->lock

arch/x86/lib/insn-eval.c get_eff_addr_modrm() -> insn_get_modrm()

Type Parameter Key Value
PARAM_VALUE 0 insn 3280860769348898816,3929561995604525064,4671128583144820736,6127367958537531392,6747283956112052232,7961320843205591040,8874595658658983936
PARAM_VALUE 0 insn->addr_bytes 4,8
PARAM_VALUE 0 insn->opcode.got 1-255
PARAM_VALUE 0 insn->sib.nbytes 0
PARAM_VALUE 0 insn->vex_prefix.value 0
PARAM_VALUE 0 insn->x86_64 0-1
PARAM_VALUE 0 insn->xop_prefix.nbytes 0
DATA_SOURCE 0 insn $0
BIT_INFO 0 insn->addr_bytes 0x0,0xc
HARD_MAX 0 insn->addr_bytes 8
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 insn->displacement.value (-128)-255
USER_DATA 0 insn->immediate.value (-128)-255
USER_DATA 0 insn->immediate1.value (-128)-255
USER_DATA 0 insn->immediate2.value (-128)-255
USER_DATA 0 insn->modrm.value 0-255
USER_DATA 0 insn->moffset1.value (-128)-255
USER_DATA 0 insn->moffset2.value (-128)-255
USER_DATA 0 insn->rex_prefix.value 0-255
USER_DATA 0 insn->sib.value 0-255

arch/x86/lib/insn-eval.c get_eff_addr_modrm_16() -> insn_get_modrm()

Type Parameter Key Value
PARAM_VALUE 0 insn 3280860769348898816,3929561995604525064,4671128583144820736,6127367958537531392,6747283956112052232,7961320843205591040,8874595658658983936
PARAM_VALUE 0 insn->addr_bytes 2
PARAM_VALUE 0 insn->displacement.got 1-255
PARAM_VALUE 0 insn->vex_prefix.value 0
PARAM_VALUE 0 insn->x86_64 0-1
PARAM_VALUE 0 insn->xop_prefix.nbytes 0
DATA_SOURCE 0 insn $0
RX_PATH
TASK_NOT_RUNNING
NOCHECK_CALL
USER_DATA 0 insn->displacement.value (-128)-255
USER_DATA 0 insn->immediate.value (-128)-255
USER_DATA 0 insn->immediate1.value (-128)-255
USER_DATA 0 insn->immediate2.value (-128)-255
USER_DATA 0 insn->modrm.value 0-255
USER_DATA 0 insn->moffset1.value (-128)-255
USER_DATA 0 insn->moffset2.value (-128)-255
USER_DATA 0 insn->rex_prefix.value 0-255
USER_DATA 0 insn->sib.value 0-255

arch/x86/lib/insn-eval.c get_eff_addr_reg() -> insn_get_modrm()

Type Parameter Key Value
PARAM_VALUE 0 insn 3280860769348898816,3929561995604525064,4671128583144820736,6127367958537531392,6747283956112052232,7961320843205591040,8874595658658983936
PARAM_VALUE 0 insn->addr_bytes 2,4,8
PARAM_VALUE 0 insn->vex_prefix.value 0
PARAM_VALUE 0 insn->x86_64 0-1
PARAM_VALUE 0 insn->xop_prefix.nbytes 0
DATA_SOURCE 0 insn $0
HARD_MAX 0 insn->addr_bytes 8
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 insn->displacement.value (-128)-255
USER_DATA 0 insn->immediate.value (-128)-255
USER_DATA 0 insn->immediate1.value (-128)-255
USER_DATA 0 insn->immediate2.value (-128)-255
USER_DATA 0 insn->modrm.value 0-255
USER_DATA 0 insn->moffset1.value (-128)-255
USER_DATA 0 insn->moffset2.value (-128)-255
USER_DATA 0 insn->rex_prefix.value 0-255
USER_DATA 0 insn->sib.value 0-255

arch/x86/lib/insn-eval.c get_eff_addr_sib() -> insn_get_modrm()

Type Parameter Key Value
PARAM_VALUE 0 insn 3280860769348898816,3929561995604525064,4671128583144820736,6127367958537531392,6747283956112052232,7961320843205591040,8874595658658983936
PARAM_VALUE 0 insn->addr_bytes 4,8
PARAM_VALUE 0 insn->opcode.got 1-255
PARAM_VALUE 0 insn->sib.nbytes 1-255
PARAM_VALUE 0 insn->vex_prefix.value 0
PARAM_VALUE 0 insn->x86_64 0-1
PARAM_VALUE 0 insn->xop_prefix.nbytes 0
DATA_SOURCE 0 insn $0
BIT_INFO 0 insn->addr_bytes 0x0,0xc
HARD_MAX 0 insn->addr_bytes 8
RX_PATH
TASK_NOT_RUNNING
USER_DATA 0 insn->displacement.value (-128)-255
USER_DATA 0 insn->immediate.value (-128)-255
USER_DATA 0 insn->immediate1.value (-128)-255
USER_DATA 0 insn->immediate2.value (-128)-255
USER_DATA 0 insn->modrm.value 0-255
USER_DATA 0 insn->moffset1.value (-128)-255
USER_DATA 0 insn->moffset2.value (-128)-255
USER_DATA 0 insn->rex_prefix.value 0-255
USER_DATA 0 insn->sib.value 0-255

arch/x86/events/utils.c decode_branch_type() -> insn_get_modrm()

Type Parameter Key Value
PARAM_VALUE 0 insn 5918861713348698112
PARAM_VALUE 0 insn->displacement.got 0
PARAM_VALUE 0 insn->displacement.nbytes 0
PARAM_VALUE 0 insn->displacement.value 0
PARAM_VALUE 0 insn->end_kaddr 4096-ptr_max
PARAM_VALUE 0 insn->immediate.got 0
PARAM_VALUE 0 insn->immediate.nbytes 0
PARAM_VALUE 0 insn->immediate.value 0
PARAM_VALUE 0 insn->immediate1.got 0
PARAM_VALUE 0 insn->immediate1.nbytes 0
PARAM_VALUE 0 insn->immediate1.value 0
PARAM_VALUE 0 insn->immediate2.got 0
PARAM_VALUE 0 insn->immediate2.nbytes 0
PARAM_VALUE 0 insn->immediate2.value 0
PARAM_VALUE 0 insn->length 0
PARAM_VALUE 0 insn->modrm.got 0
PARAM_VALUE 0 insn->modrm.nbytes 0
PARAM_VALUE 0 insn->modrm.value 0
PARAM_VALUE 0 insn->moffset1.got 0
PARAM_VALUE 0 insn->moffset1.nbytes 0
PARAM_VALUE 0 insn->moffset1.value 0
PARAM_VALUE 0 insn->moffset2.got 0
PARAM_VALUE 0 insn->moffset2.nbytes 0
PARAM_VALUE 0 insn->moffset2.value 0
PARAM_VALUE 0 insn->opcode.got 1
PARAM_VALUE 0 insn->opcode.nbytes 1-255
PARAM_VALUE 0 insn->prefixes.got 1-255
PARAM_VALUE 0 insn->rex_prefix.bytes 0-s32max,18446744071562067968-u64max
PARAM_VALUE 0 insn->sib.got 0
PARAM_VALUE 0 insn->sib.nbytes 0
PARAM_VALUE 0 insn->sib.value 0
PARAM_VALUE 0 insn->vex_prefix.value 0
PARAM_VALUE 0 insn->x86_64 0-1
PARAM_VALUE 0 insn->xop_prefix.nbytes 0
PARAM_VALUE 0 *insn->opcode->bytes 0-255
DATA_SOURCE 0 insn $0
MEM_ZERO 0 insn
RX_PATH
TASK_NOT_RUNNING