Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

arch/x86/kvm/emulate.c __load_segment_descriptor() -> (struct x86_emulate_ops)->set_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->is_canonical_addr 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 2 desc 5003382777688281088
PARAM_VALUE 2 desc->avl 0
PARAM_VALUE 2 desc->base0 0,16-65520
PARAM_VALUE 2 desc->base1 0-15
PARAM_VALUE 2 desc->base2 0
PARAM_VALUE 2 desc->limit0 0,u16max
PARAM_VALUE 2 desc->limit1 0
DATA_SOURCE 0 ctxt $0
DATA_SOURCE 1 selector $1 [m]
DATA_SOURCE 4 seg $2
CONTAINER 0 -104-8+0 $(-1)
MEM_ZERO 2 desc
NOCHECK_CALL
USER_DATA 0 ctxt->src.val 0-u32max
USER_DATA 2 desc->base0 0
USER_DATA 2 desc->limit0 0
USER_PTR 0 ctxt->fetch.end
USER_PTR 0 ctxt->vcpu->arch.pdptrs

arch/x86/kvm/emulate.c em_call_far() -> (struct x86_emulate_ops)->set_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 2 desc 1315732416814055424
PARAM_VALUE 3 base3 0
PARAM_VALUE 4 seg 1
DATA_SOURCE 0 ctxt $0
CONTAINER 0 -104-8+0 $(-1)
NOCHECK_CALL
USER_DATA 0 ctxt->src.val 0-u32max
NO_OVERFLOW_SIMPLE 0 ctxt->op_bytes
USER_PTR 0 ctxt->fetch.end

arch/x86/kvm/emulate.c em_syscall() -> (struct x86_emulate_ops)->set_segment()

Type Parameter Key Value
PARAM_VALUE 0 ctxt 4096-ptr_max
PARAM_VALUE 0 ctxt->execute 1-u64max
PARAM_VALUE 0 ctxt->mode 2-u32max
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 0,4-65532
PARAM_VALUE 2 desc 5674106667722809344
PARAM_VALUE 2 desc->avl 0
PARAM_VALUE 2 desc->base0 0
PARAM_VALUE 2 desc->base1 0
PARAM_VALUE 2 desc->base2 0
PARAM_VALUE 2 desc->dpl 0
PARAM_VALUE 2 desc->g 1
PARAM_VALUE 2 desc->limit0 u16max
PARAM_VALUE 2 desc->limit1 15
PARAM_VALUE 2 desc->p 1
PARAM_VALUE 2 desc->s 1
PARAM_VALUE 2 desc->type 11
PARAM_VALUE 3 base3 0
PARAM_VALUE 4 seg 1
DATA_SOURCE 0 ctxt $0
CONTAINER 0 -104-8+0 $(-1)
NOCHECK_CALL
USER_PTR 0 ctxt->fetch.end

arch/x86/kvm/emulate.c em_syscall() -> (struct x86_emulate_ops)->set_segment()

Type Parameter Key Value
PARAM_VALUE 0 ctxt 4096-ptr_max
PARAM_VALUE 0 ctxt->execute 1-u64max
PARAM_VALUE 0 ctxt->mode 2-u32max
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 2 desc 1383343200491782144
PARAM_VALUE 2 desc->avl 0
PARAM_VALUE 2 desc->base0 0
PARAM_VALUE 2 desc->base1 0
PARAM_VALUE 2 desc->base2 0
PARAM_VALUE 2 desc->d 1
PARAM_VALUE 2 desc->dpl 0
PARAM_VALUE 2 desc->g 1
PARAM_VALUE 2 desc->l 0
PARAM_VALUE 2 desc->limit0 u16max
PARAM_VALUE 2 desc->limit1 15
PARAM_VALUE 2 desc->p 1
PARAM_VALUE 2 desc->s 1
PARAM_VALUE 2 desc->type 3
PARAM_VALUE 3 base3 0
PARAM_VALUE 4 seg 2
DATA_SOURCE 0 ctxt $0
CONTAINER 0 -104-8+0 $(-1)
NOCHECK_CALL
USER_PTR 0 ctxt->fetch.end

arch/x86/kvm/emulate.c em_sysenter() -> (struct x86_emulate_ops)->set_segment()

Type Parameter Key Value
PARAM_VALUE 0 ctxt 4096-ptr_max
PARAM_VALUE 0 ctxt->execute 1-u64max
PARAM_VALUE 0 ctxt->mode 1-3,5-u32max
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 0,4-65532
PARAM_VALUE 2 desc 7062679876017512448
PARAM_VALUE 2 desc->avl 0
PARAM_VALUE 2 desc->base0 0
PARAM_VALUE 2 desc->base1 0
PARAM_VALUE 2 desc->base2 0
PARAM_VALUE 2 desc->dpl 0
PARAM_VALUE 2 desc->g 1
PARAM_VALUE 2 desc->limit0 u16max
PARAM_VALUE 2 desc->limit1 15
PARAM_VALUE 2 desc->p 1
PARAM_VALUE 2 desc->s 1
PARAM_VALUE 2 desc->type 11
PARAM_VALUE 3 base3 0
PARAM_VALUE 4 seg 1
DATA_SOURCE 0 ctxt $0
CONTAINER 0 -104-8+0 $(-1)
BIT_INFO 0 ctxt->eflags 0x0,0xfffffffffffdfdff
BIT_INFO 1 selector 0x0,0xfffc
NOCHECK_CALL
USER_PTR 0 ctxt->fetch.end

arch/x86/kvm/emulate.c em_sysenter() -> (struct x86_emulate_ops)->set_segment()

Type Parameter Key Value
PARAM_VALUE 0 ctxt 4096-ptr_max
PARAM_VALUE 0 ctxt->execute 1-u64max
PARAM_VALUE 0 ctxt->mode 1-3,5-u32max
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 2 desc 8111002223788781568
PARAM_VALUE 2 desc->avl 0
PARAM_VALUE 2 desc->base0 0
PARAM_VALUE 2 desc->base1 0
PARAM_VALUE 2 desc->base2 0
PARAM_VALUE 2 desc->d 1
PARAM_VALUE 2 desc->dpl 0
PARAM_VALUE 2 desc->g 1
PARAM_VALUE 2 desc->l 0
PARAM_VALUE 2 desc->limit0 u16max
PARAM_VALUE 2 desc->limit1 15
PARAM_VALUE 2 desc->p 1
PARAM_VALUE 2 desc->s 1
PARAM_VALUE 2 desc->type 3
PARAM_VALUE 3 base3 0
PARAM_VALUE 4 seg 2
DATA_SOURCE 0 ctxt $0
CONTAINER 0 -104-8+0 $(-1)
BIT_INFO 0 ctxt->eflags 0x0,0xfffffffffffdfdff
NOCHECK_CALL
USER_PTR 0 ctxt->fetch.end

arch/x86/kvm/emulate.c em_sysexit() -> (struct x86_emulate_ops)->set_segment()

Type Parameter Key Value
PARAM_VALUE 0 ctxt 4096-ptr_max
PARAM_VALUE 0 ctxt->execute 1-u64max
PARAM_VALUE 0 ctxt->mode 2-u32max
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->is_canonical_addr 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 2 desc 7033700695622717440
PARAM_VALUE 2 desc->avl 0
PARAM_VALUE 2 desc->base0 0
PARAM_VALUE 2 desc->base1 0
PARAM_VALUE 2 desc->base2 0
PARAM_VALUE 2 desc->dpl 3
PARAM_VALUE 2 desc->g 1
PARAM_VALUE 2 desc->limit0 u16max
PARAM_VALUE 2 desc->limit1 15
PARAM_VALUE 2 desc->p 1
PARAM_VALUE 2 desc->s 1
PARAM_VALUE 2 desc->type 11
PARAM_VALUE 3 base3 0
PARAM_VALUE 4 seg 1
DATA_SOURCE 0 ctxt $0
CONTAINER 0 -104-8+0 $(-1)
BIT_INFO 1 selector 0x3,0xffff
NOCHECK_CALL
USER_PTR 0 ctxt->fetch.end

arch/x86/kvm/emulate.c em_sysexit() -> (struct x86_emulate_ops)->set_segment()

Type Parameter Key Value
PARAM_VALUE 0 ctxt 4096-ptr_max
PARAM_VALUE 0 ctxt->execute 1-u64max
PARAM_VALUE 0 ctxt->mode 2-u32max
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->is_canonical_addr 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 2 desc 6375609308830064640
PARAM_VALUE 2 desc->avl 0
PARAM_VALUE 2 desc->base0 0
PARAM_VALUE 2 desc->base1 0
PARAM_VALUE 2 desc->base2 0
PARAM_VALUE 2 desc->d 1
PARAM_VALUE 2 desc->dpl 3
PARAM_VALUE 2 desc->g 1
PARAM_VALUE 2 desc->l 0
PARAM_VALUE 2 desc->limit0 u16max
PARAM_VALUE 2 desc->limit1 15
PARAM_VALUE 2 desc->p 1
PARAM_VALUE 2 desc->s 1
PARAM_VALUE 2 desc->type 3
PARAM_VALUE 3 base3 0
PARAM_VALUE 4 seg 2
DATA_SOURCE 0 ctxt $0
CONTAINER 0 -104-8+0 $(-1)
BIT_INFO 1 selector 0x3,0xffff
NOCHECK_CALL
USER_PTR 0 ctxt->fetch.end

arch/x86/kvm/emulate.c emulator_do_task_switch() -> (struct x86_emulate_ops)->set_segment()

Type Parameter Key Value
PARAM_VALUE 0 ctxt 4096-ptr_max
PARAM_VALUE 0 ctxt->_eip 0-u32max
PARAM_VALUE 0 ctxt->dst.type 7
PARAM_VALUE 0 ctxt->eflags 0,2-4294983679
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->vcpu->arch.gva_walk.cpu_role.base.cr0_wp 0-1
PARAM_VALUE 0 ctxt->vcpu->arch.mmu->cpu_role.base.cr0_wp 0-1
PARAM_VALUE 0 ctxt->vcpu->arch.mmu->pkru_mask 0-4294967295
PARAM_VALUE 0 ctxt->vcpu->arch.ngpa_walk.cpu_role.base.cr0_wp 0-1
PARAM_VALUE 0 ctxt->vcpu->arch.ngpa_walk.pkru_mask 0-4294967295
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 0 *ctxt->vcpu->arch.ngpa_walk->permissions 0-u16max
PARAM_VALUE 2 desc 5115147109071486976
PARAM_VALUE 2 desc->p 1
PARAM_VALUE 3 base3 0
PARAM_VALUE 4 seg 6
DATA_SOURCE 0 ctxt $0
DATA_SOURCE 1 selector $1
NOCHECK_CALL
USER_DATA 0 *ctxt->vcpu->arch.pdptrs s64min-s64max
USER_PTR 0 ctxt->fetch.end
USER_PTR 0 ctxt->vcpu->arch.pdptrs

arch/x86/kvm/emulate.c set_segment_selector() -> (struct x86_emulate_ops)->set_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 2 desc 4850087525531209728
PARAM_VALUE 4 seg 0-5,7
DATA_SOURCE 0 ctxt $0
DATA_SOURCE 1 selector $1
DATA_SOURCE 4 seg $2
CONTAINER 0 -104-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