Defined in 1 files as a function:
Referenced in 1 files:
Smatch caller information:
arch/x86/kvm/emulate.c __linearize() -> (struct x86_emulate_ops)->get_segment()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ctxt | 4096-ptr_max |
| PARAM_VALUE | 0 | ctxt->ops | 4096-ptr_max |
| PARAM_VALUE | 0 | ctxt->ops->get_cr | 4096-ptr_max |
| PARAM_VALUE | 0 | ctxt->ops->get_idt | 4096-ptr_max |
| PARAM_VALUE | 0 | ctxt->ops->get_msr | 4096-ptr_max |
| PARAM_VALUE | 0 | ctxt->ops->get_segment | 4096-ptr_max |
| PARAM_VALUE | 0 | ctxt->ops->guest_has_fxsr | 4096-ptr_max |
| PARAM_VALUE | 0 | ctxt->ops->intercept | 4096-ptr_max |
| PARAM_VALUE | 0 | ctxt->ops->read_std | 4096-ptr_max |
| PARAM_VALUE | 0 | ctxt->ops->set_segment | 6488883502986878976 |
| PARAM_VALUE | 0 | ctxt->ops->write_std | 5847011921159122944 |
| PARAM_VALUE | 1 | selector | 8602941858307080192 |
| PARAM_VALUE | 2 | desc | 5215368173500723200 |
| PARAM_VALUE | 3 | base3 | 0 |
| BUF_SIZE | 0 | ctxt->dst.addr.reg | (-1),8 |
| BUF_SIZE | 0 | ctxt->fetch.ptr | (-1),15 |
| DATA_SOURCE | 0 | ctxt | $0 |
| CONTAINER | 0 | -96-8+0 | $(-1) |
| USER_DATA | 0 | ctxt->src.val | 0-u64max |
| USER_DATA | 0 | *ctxt->fetch.end | 0-255 |
| USER_PTR | 0 | ctxt->fetch.end | |
| USER_PTR | 0 | ctxt->vcpu->arch.pdptrs |
arch/x86/kvm/emulate.c __load_segment_descriptor() -> (struct x86_emulate_ops)->get_segment()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ctxt | 4096-ptr_max |
| PARAM_VALUE | 0 | ctxt->mode | 0 |
| PARAM_VALUE | 0 | ctxt->ops | 4096-ptr_max |
| PARAM_VALUE | 0 | ctxt->ops->get_cr | 8265647234411626496 |
| PARAM_VALUE | 0 | ctxt->ops->get_idt | 4096-ptr_max |
| PARAM_VALUE | 0 | ctxt->ops->get_msr | 8129238678163517440 |
| PARAM_VALUE | 0 | ctxt->ops->get_segment | 4096-ptr_max |
| PARAM_VALUE | 0 | ctxt->ops->intercept | 4096-ptr_max |
| PARAM_VALUE | 0 | ctxt->ops->read_std | 4096-ptr_max |
| PARAM_VALUE | 0 | ctxt->ops->set_segment | 4096-ptr_max |
| PARAM_VALUE | 0 | ctxt->ops->write_std | 4096-ptr_max |
| PARAM_VALUE | 1 | selector | 3270285551645421568 |
| PARAM_VALUE | 2 | desc | 5003382777688281088 |
| PARAM_VALUE | 3 | base3 | 0 |
| DATA_SOURCE | 0 | ctxt | $0 |
| DATA_SOURCE | 4 | seg | $2 |
| CONTAINER | 0 | -96-8+0 | $(-1) |
| MEM_ZERO | 2 | desc | |
| NOCHECK_CALL | |||
| USER_DATA | 0 | ctxt->src.val | 0-u32max |
| USER_PTR | 0 | ctxt->fetch.end |
arch/x86/kvm/emulate.c em_call_far() -> (struct x86_emulate_ops)->get_segment()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ctxt | 4096-ptr_max |
| PARAM_VALUE | 0 | ctxt->execute | 1-u64max |
| PARAM_VALUE | 0 | ctxt->ops | 4096-ptr_max |
| PARAM_VALUE | 0 | ctxt->ops->get_cr | 8265647234411626496 |
| PARAM_VALUE | 0 | ctxt->ops->get_idt | 8853942836760453120 |
| PARAM_VALUE | 0 | ctxt->ops->get_msr | 8129238678163517440 |
| PARAM_VALUE | 0 | ctxt->ops->get_segment | 7209599553600106496 |
| PARAM_VALUE | 0 | ctxt->ops->intercept | 4096-ptr_max |
| PARAM_VALUE | 0 | ctxt->ops->read_std | 5532471905094541312 |
| PARAM_VALUE | 0 | ctxt->ops->set_segment | 6488883502986878976 |
| PARAM_VALUE | 0 | ctxt->ops->write_std | 5847011921159122944 |
| PARAM_VALUE | 1 | selector | 5567269688482729984 |
| PARAM_VALUE | 2 | desc | 1315732416814055424 |
| PARAM_VALUE | 3 | base3 | 0 |
| PARAM_VALUE | 4 | seg | 1 |
| DATA_SOURCE | 0 | ctxt | $0 |
| CONTAINER | 0 | -96-8+0 | $(-1) |
| NOCHECK_CALL | |||
| USER_PTR | 0 | ctxt->fetch.end |
arch/x86/kvm/emulate.c emulator_io_port_access_allowed() -> (struct x86_emulate_ops)->get_segment()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ctxt | 4096-ptr_max |
| PARAM_VALUE | 0 | ctxt->d | 8192-u64max |
| PARAM_VALUE | 0 | ctxt->mem_read.pos | 0 |
| PARAM_VALUE | 0 | ctxt->mode | 1-u32max |
| PARAM_VALUE | 0 | ctxt->ops | 4096-ptr_max |
| PARAM_VALUE | 0 | ctxt->ops->get_idt | 8853942836760453120 |
| PARAM_VALUE | 0 | ctxt->ops->get_segment | 7209599553600106496 |
| PARAM_VALUE | 0 | ctxt->ops->intercept | 4096-ptr_max |
| PARAM_VALUE | 0 | ctxt->ops->read_std | 5532471905094541312 |
| PARAM_VALUE | 0 | ctxt->ops->set_segment | 6488883502986878976 |
| PARAM_VALUE | 0 | ctxt->ops->write_std | 5847011921159122944 |
| PARAM_VALUE | 0 | ctxt->perm_ok | 0 |
| PARAM_VALUE | 1 | selector | 2551381104571760640 |
| PARAM_VALUE | 2 | desc | 7832704478092247040 |
| PARAM_VALUE | 3 | base3 | 4071870618254336000 |
| PARAM_VALUE | 4 | seg | 6 |
| DATA_SOURCE | 0 | ctxt | $0 |
| CONTAINER | 0 | -96-8+0 | $(-1) |
| BIT_INFO | 0 | ctxt->d | 0x2000000000000,0xffffffffffffffff |
| NOCHECK_CALL | |||
| USER_PTR | 0 | ctxt->fetch.end |
arch/x86/kvm/emulate.c emulator_recalc_and_set_mode() -> (struct x86_emulate_ops)->get_segment()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ctxt | 4096-ptr_max |
| PARAM_VALUE | 0 | ctxt->execute | 1-u64max |
| PARAM_VALUE | 0 | ctxt->ops | 4096-ptr_max |
| PARAM_VALUE | 0 | ctxt->ops->get_cr | 8265647234411626496 |
| PARAM_VALUE | 0 | ctxt->ops->get_idt | 8853942836760453120 |
| PARAM_VALUE | 0 | ctxt->ops->get_msr | 8129238678163517440 |
| PARAM_VALUE | 0 | ctxt->ops->get_segment | 7209599553600106496 |
| PARAM_VALUE | 0 | ctxt->ops->intercept | 4096-ptr_max |
| PARAM_VALUE | 0 | ctxt->ops->read_std | 5532471905094541312 |
| PARAM_VALUE | 0 | ctxt->ops->set_segment | 6488883502986878976 |
| PARAM_VALUE | 0 | ctxt->ops->write_std | 5847011921159122944 |
| PARAM_VALUE | 1 | selector | 8129863665785155584 |
| PARAM_VALUE | 2 | desc | 7983892034918035456 |
| PARAM_VALUE | 3 | base3 | 5707415915392143360 |
| PARAM_VALUE | 4 | seg | 1 |
| DATA_SOURCE | 0 | ctxt | $0 |
| CONTAINER | 0 | -96-8+0 | $(-1) |
| BIT_INFO | 0 | ctxt->eflags | 0x0,0xfffffffffffdffff |
| USER_PTR | 0 | ctxt->fetch.end | |
| USER_PTR | 0 | ctxt->vcpu->arch.pdptrs |
arch/x86/kvm/emulate.c get_descriptor_table_ptr() -> (struct x86_emulate_ops)->get_segment()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ctxt | 4096-ptr_max |
| PARAM_VALUE | 0 | ctxt->ops | 4096-ptr_max |
| PARAM_VALUE | 0 | ctxt->ops->get_cr | 4096-ptr_max |
| PARAM_VALUE | 0 | ctxt->ops->get_idt | 4096-ptr_max |
| PARAM_VALUE | 0 | ctxt->ops->get_segment | 4096-ptr_max |
| PARAM_VALUE | 0 | ctxt->ops->intercept | 4096-ptr_max |
| PARAM_VALUE | 0 | ctxt->ops->read_std | 4096-ptr_max |
| PARAM_VALUE | 0 | ctxt->ops->set_segment | 4096-ptr_max |
| PARAM_VALUE | 0 | ctxt->ops->write_std | 4096-ptr_max |
| PARAM_VALUE | 1 | selector | 4220811840499548160 |
| PARAM_VALUE | 2 | desc | 4518710023234416640 |
| PARAM_VALUE | 3 | base3 | 8350554013205504000 |
| PARAM_VALUE | 3 | *base3 | 0 |
| PARAM_VALUE | 4 | seg | 7 |
| DATA_SOURCE | 0 | ctxt | $0 |
| CONTAINER | 0 | -96-8+0 | $(-1) |
| USER_DATA | 0 | ctxt->src.val | 0-u64max |
| USER_PTR | 0 | ctxt->fetch.end | |
| USER_PTR | 0 | ctxt->vcpu->arch.pdptrs |
arch/x86/kvm/emulate.c get_segment_selector() -> (struct x86_emulate_ops)->get_segment()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ctxt | 4096-ptr_max |
| PARAM_VALUE | 0 | ctxt->ops | 4096-ptr_max |
| PARAM_VALUE | 0 | ctxt->ops->get_cr | 8265647234411626496 |
| PARAM_VALUE | 0 | ctxt->ops->get_idt | 4096-ptr_max |
| PARAM_VALUE | 0 | ctxt->ops->get_msr | 8129238678163517440 |
| PARAM_VALUE | 0 | ctxt->ops->get_segment | 4096-ptr_max |
| PARAM_VALUE | 0 | ctxt->ops->intercept | 4096-ptr_max |
| PARAM_VALUE | 0 | ctxt->ops->read_std | 4096-ptr_max |
| PARAM_VALUE | 0 | ctxt->ops->set_segment | 6488883502986878976 |
| PARAM_VALUE | 0 | ctxt->ops->write_std | 5847011921159122944 |
| PARAM_VALUE | 1 | selector | 7135385687700791296 |
| PARAM_VALUE | 2 | desc | 1321318709495046144 |
| PARAM_VALUE | 3 | base3 | 0 |
| DATA_SOURCE | 0 | ctxt | $0 |
| DATA_SOURCE | 4 | seg | $1 |
| CONTAINER | 0 | -96-8+0 | $(-1) |
| NOCHECK_CALL | |||
| USER_DATA | 0 | ctxt->src.val | 0-u32max |
| USER_PTR | 0 | ctxt->fetch.end |
arch/x86/kvm/emulate.c set_segment_selector() -> (struct x86_emulate_ops)->get_segment()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ctxt | 4096-ptr_max |
| PARAM_VALUE | 0 | ctxt->_eip | 0-u32max |
| PARAM_VALUE | 0 | ctxt->dst.addr.mem.seg | 0-255 |
| PARAM_VALUE | 0 | ctxt->dst.bytes | 0-255 |
| PARAM_VALUE | 0 | ctxt->dst.type | 7 |
| PARAM_VALUE | 0 | ctxt->eflags | 0,2-u32max |
| PARAM_VALUE | 0 | ctxt->memop.addr.mem.seg | 0-255 |
| PARAM_VALUE | 0 | ctxt->memop.addr.mm | 0-7 |
| PARAM_VALUE | 0 | ctxt->memop.addr.xmm | 0-255 |
| PARAM_VALUE | 0 | ctxt->memop.type | 0-7 |
| PARAM_VALUE | 0 | ctxt->ops | 4096-ptr_max |
| PARAM_VALUE | 0 | ctxt->ops->get_idt | 4096-ptr_max |
| PARAM_VALUE | 0 | ctxt->ops->get_segment | 4096-ptr_max |
| PARAM_VALUE | 0 | ctxt->ops->read_std | 4096-ptr_max |
| PARAM_VALUE | 0 | ctxt->ops->set_segment | 4096-ptr_max |
| PARAM_VALUE | 0 | ctxt->ops->write_std | 4096-ptr_max |
| PARAM_VALUE | 0 | ctxt->src.addr.mem.seg | 0-255 |
| PARAM_VALUE | 0 | ctxt->src.bytes | 0-255 |
| PARAM_VALUE | 0 | ctxt->src.type | 0-7 |
| PARAM_VALUE | 0 | ctxt->src2.addr.mem.seg | 0-255 |
| PARAM_VALUE | 0 | ctxt->src2.bytes | 0-255 |
| PARAM_VALUE | 0 | ctxt->src2.type | 0-7 |
| PARAM_VALUE | 0 | ctxt->vcpu->arch.gva_walk.cpu_role.base.cr0_wp | 0-1 |
| PARAM_VALUE | 0 | ctxt->vcpu->arch.ngpa_walk.cpu_role.base.cr0_wp | 0-1 |
| PARAM_VALUE | 0 | ctxt->vcpu->kvm->vm_bugged | 0-1 |
| PARAM_VALUE | 0 | ctxt->vcpu->kvm->vm_dead | 0-1 |
| PARAM_VALUE | 0 | ctxt->vcpu->last_used_slot->as_id | 0-1 |
| PARAM_VALUE | 0 | ctxt->vcpu->last_used_slot->base_gfn | 0-s64max |
| PARAM_VALUE | 0 | ctxt->vcpu->last_used_slot->id | 0-32766 |
| PARAM_VALUE | 0 | ctxt->vcpu->last_used_slot->npages | 0-4503599627370495 |
| PARAM_VALUE | 1 | selector | 2247653659966521344 |
| PARAM_VALUE | 2 | desc | 4850087525531209728 |
| PARAM_VALUE | 3 | base3 | 2198043977850810368 |
| PARAM_VALUE | 4 | seg | 0-5,7 |
| DATA_SOURCE | 0 | ctxt | $0 |
| DATA_SOURCE | 4 | seg | $2 |
| CONTAINER | 0 | -96-8+0 | $(-1) |
| BIT_INFO | 0 | ctxt->eflags | 0x2,0xffffffffffffffff |
| NOCHECK_CALL | |||
| USER_PTR | 0 | ctxt->fetch.end | |
| USER_PTR | 0 | ctxt->vcpu->arch.pdptrs |
arch/x86/kvm/emulate.c stack_mask() -> (struct x86_emulate_ops)->get_segment()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ctxt | 4096-ptr_max |
| PARAM_VALUE | 0 | ctxt->mode | 0-3,5-u32max |
| PARAM_VALUE | 0 | ctxt->ops | 4096-ptr_max |
| PARAM_VALUE | 0 | ctxt->ops->cpl | 4096-ptr_max |
| PARAM_VALUE | 0 | ctxt->ops->get_cr | 4096-ptr_max |
| PARAM_VALUE | 0 | ctxt->ops->get_idt | 4096-ptr_max |
| PARAM_VALUE | 0 | ctxt->ops->get_msr | 4096-ptr_max |
| PARAM_VALUE | 0 | ctxt->ops->get_segment | 4096-ptr_max |
| PARAM_VALUE | 0 | ctxt->ops->intercept | 4096-ptr_max |
| PARAM_VALUE | 0 | ctxt->ops->read_std | 4096-ptr_max |
| PARAM_VALUE | 0 | ctxt->ops->set_segment | 6488883502986878976 |
| PARAM_VALUE | 0 | ctxt->ops->write_std | 5847011921159122944 |
| PARAM_VALUE | 1 | selector | 1676285181304737792 |
| PARAM_VALUE | 2 | desc | 6600494381219876864 |
| PARAM_VALUE | 3 | base3 | 0 |
| PARAM_VALUE | 4 | seg | 2 |
| BUF_SIZE | 0 | ctxt->dst.addr.reg | (-1),8 |
| DATA_SOURCE | 0 | ctxt | $0 |
| CONTAINER | 0 | -96-8+0 | $(-1) |
| NOCHECK_CALL | |||
| USER_DATA | 0 | ctxt->src.val | 0-u32max |
| USER_PTR | 0 | ctxt->fetch.end | |
| USER_PTR | 0 | ctxt->vcpu->arch.pdptrs |
arch/x86/kvm/emulate.c x86_decode_insn() -> (struct x86_emulate_ops)->get_segment()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | ctxt | 4096-ptr_max |
| PARAM_VALUE | 0 | ctxt->exception.error_code | 0 |
| PARAM_VALUE | 0 | ctxt->fetch.end | 4096-ptr_max |
| PARAM_VALUE | 0 | ctxt->intercept | 0 |
| PARAM_VALUE | 0 | ctxt->memop.type | 7 |
| PARAM_VALUE | 0 | ctxt->memopp | 0 |
| PARAM_VALUE | 0 | ctxt->opcode_len | 1 |
| PARAM_VALUE | 0 | ctxt->ops | 4096-ptr_max |
| PARAM_VALUE | 0 | ctxt->vcpu->arch.gva_walk.fmt.pkru_mask | 0-4294967295 |
| PARAM_VALUE | 0 | ctxt->vcpu->last_used_slot->base_gfn | 0-s64max |
| PARAM_VALUE | 1 | selector | 7293214167639736320 |
| PARAM_VALUE | 2 | desc | 1384992387757314048 |
| PARAM_VALUE | 3 | base3 | 0 |
| PARAM_VALUE | 4 | seg | 1 |
| BUF_SIZE | 0 | ctxt->fetch.ptr | 15 |
| DATA_SOURCE | 0 | ctxt | $0 |
| CONTAINER | 0 | -96-8+0 | $(-1) |
| NOCHECK_CALL | |||
| USER_DATA | 0 | *ctxt->fetch.end | 0-255 |