Documented in 1 files:
Defined in 1 files as a prototype:
Defined in 1 files as a function:
Referenced in 6 files:
- arch/x86/coco/sev/vc-handle.c, line 489
- arch/x86/coco/tdx/tdx.c, line 621
- arch/x86/kernel/cpu/mce/severity.c, line 257
- arch/x86/kernel/traps.c, line 769
- arch/x86/kernel/umip.c, line 407
- arch/x86/mm/extable.c, line 81
Smatch caller information:
arch/x86/kernel/cpu/mce/severity.c is_copy_from_user() -> insn_get_addr_ref()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | insn | 3280860769348898816 |
| 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 | 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,4 |
| PARAM_VALUE | 0 | insn->next_byte | 0 |
| PARAM_VALUE | 0 | insn->opcode.got | 0 |
| PARAM_VALUE | 0 | insn->opcode.nbytes | 0 |
| PARAM_VALUE | 0 | insn->opcode.value | 138-139,46607,46863 |
| 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->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 | 0-1 |
| PARAM_VALUE | 0 | insn->xop_prefix.nbytes | 0 |
| PARAM_VALUE | 1 | regs | 4096-ptr_max |
| BUF_SIZE | 1 | regs | (-1),168 |
| BUF_SIZE | 1 | regs | (-1),168 |
| DATA_SOURCE | 1 | regs | $0 |
| MEM_ZERO | 0 | insn | |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| HALF_LOCKED2 | flags |
arch/x86/kernel/umip.c fixup_umip_exception() -> insn_get_addr_ref()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | insn | 7961320843205591040 |
| 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->modrm.got | 1 |
| PARAM_VALUE | 0 | insn->modrm.nbytes | 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.got | 1 |
| PARAM_VALUE | 0 | insn->opcode.nbytes | 2-255 |
| PARAM_VALUE | 0 | insn->opnd_bytes | 0 |
| PARAM_VALUE | 0 | insn->prefixes.got | 1-255 |
| PARAM_VALUE | 0 | insn->rex_prefix.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.nbytes | 0 |
| PARAM_VALUE | 1 | regs | 4096-ptr_max |
| PARAM_VALUE | 1 | regs->cs | 1-u16max |
| PARAM_VALUE | 1 | regs->orig_ax | 0-u32max,u64max |
| CAPPED_DATA | 1 | regs | 1 |
| CAPPED_DATA | 1 | regs->cs | 1 |
| DATA_SOURCE | 1 | regs | $0 |
| MEM_ZERO | 0 | insn | |
| PREEMPT_ADD | |||
| USER_DATA | 0 | insn->immediate.value | 0 |
| USER_DATA | 0 | insn->immediate1.value | 0 |
| USER_DATA | 0 | insn->immediate2.value | 0 |
| USER_DATA | 0 | insn->modrm.value | 0-255 |
| USER_DATA | 0 | insn->moffset1.value | 0 |
| USER_DATA | 0 | insn->moffset2.value | 0 |
| USER_DATA | 0 | insn->sib.value | 0-255 |
arch/x86/kernel/traps.c get_kernel_gp_address() -> insn_get_addr_ref()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | insn | 4671128583144820736 |
| 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 | 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,4 |
| PARAM_VALUE | 0 | insn->next_byte | 0 |
| 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->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 | 0-1 |
| PARAM_VALUE | 0 | insn->xop_prefix.nbytes | 0 |
| PARAM_VALUE | 1 | regs | 4096-ptr_max |
| PARAM_VALUE | 1 | regs->cs | 1-u16max |
| PARAM_VALUE | 1 | regs->orig_ax | 0-u32max,u64max |
| CAPPED_DATA | 1 | regs | 1 |
| DATA_SOURCE | 1 | regs | $0 |
| MEM_ZERO | 0 | insn | |
| PREEMPT_ADD |
arch/x86/coco/sev/vc-handle.c vc_do_mmio() -> insn_get_addr_ref()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | insn | 3929561995604525064,6747283956112052232 |
| PARAM_VALUE | 0 | insn->displacement.got | 0-1 |
| PARAM_VALUE | 0 | insn->displacement.nbytes | 0-2,4 |
| 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->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.got | 1 |
| PARAM_VALUE | 0 | insn->opcode.nbytes | 1-255 |
| PARAM_VALUE | 0 | insn->prefixes.got | 1-255 |
| 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.nbytes | 0 |
| PARAM_VALUE | 1 | regs | 4096-ptr_max |
| MEM_ZERO | 0 | insn | |
| PREEMPT_ADD |
arch/x86/coco/tdx/tdx.c handle_mmio() -> insn_get_addr_ref()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | insn | 8874595658658983936 |
| 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 | 0 |
| PARAM_VALUE | 0 | insn->kaddr | 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->opcode.got | 1 |
| PARAM_VALUE | 0 | insn->opcode.nbytes | 1-255 |
| PARAM_VALUE | 0 | insn->prefixes.got | 1-255 |
| 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 |
| PARAM_VALUE | 0 | insn->xop_prefix.nbytes | 0 |
| PARAM_VALUE | 1 | regs | 4096-ptr_max |
| PARAM_VALUE | 1 | regs->fred_ss.type | 3 |
| PARAM_VALUE | 1 | regs->fred_ss.vector | 20 |
| PARAM_VALUE | 1 | regs->orig_ax | u64max |
| DATA_SOURCE | 1 | regs | $0 |
arch/x86/mm/extable.c ex_handler_zeropad() -> insn_get_addr_ref()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | insn | 6127367958537531392 |
| PARAM_VALUE | 0 | insn->length | 0-15 |
| PARAM_VALUE | 0 | insn->opnd_bytes | 8 |
| PARAM_VALUE | 1 | regs | 4096-ptr_max |
| BUF_SIZE | 1 | regs | (-1),168 |
| BUF_SIZE | 1 | regs | (-1),168 |
| DATA_SOURCE | 1 | regs | $1 |
| STR_LEN | 0 | insn | (-1),8,24 |
| STR_LEN | 1 | regs | (-1),8,24 |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING |