Defined in 1 files as a function:

Referenced in 1 files:

Smatch caller information:

arch/x86/kvm/x86.c kvm_iodevice_read() -> (struct kvm_io_device_ops)->read()

Type Parameter Key Value
PARAM_VALUE 0 vcpu 4096-ptr_max
PARAM_VALUE 0 vcpu->kvm 4096-ptr_max
PARAM_VALUE 0 *vcpu->arch.emulate_ctxt->dst.valptr 0-255
PARAM_VALUE 0 *vcpu->arch.emulate_ctxt->fetch.data 0-255
PARAM_VALUE 0 *vcpu->arch.emulate_ctxt->src.valptr 0-255
PARAM_VALUE 0 *vcpu->arch.emulate_ctxt->src2.valptr 0-255
PARAM_VALUE 1 dev 4096-ptr_max
PARAM_VALUE 1 dev->ops 4096-ptr_max
PARAM_VALUE 1 dev->ops->read 147805684185284608,382259631096786944,790369022142812160,2248576444692987904,2576807395691831296,3675971618421727232,5076371808297254912
PARAM_VALUE 3 len s32min-8
BUF_SIZE 0 vcpu (-1),1-s32max
BUF_SIZE 0 vcpu (-1),1-s32max
BUF_SIZE 4 val s32min,(-1),1-65536
BUF_SIZE 4 val s32min,(-1),1-65536
CAPPED_DATA 3 len 1
DATA_SOURCE 0 vcpu $0
DATA_SOURCE 1 dev $1
DATA_SOURCE 2 addr $2
DATA_SOURCE 3 len $3
DATA_SOURCE 4 val $4
CONTAINER 1 -0-0+0 $(-1)
USER_DATA 0 *vcpu->arch.emulate_ctxt->fetch.end 0-255
USER_DATA 4 *val s64min-s64max
NO_OVERFLOW_SIMPLE 2 addr
NO_OVERFLOW_SIMPLE 3 len
USER_PTR 0 vcpu->arch.emulate_ctxt->fetch.end
USER_PTR 4 val

arch/x86/kvm/../../../virt/kvm/kvm_main.c kvm_iodevice_read() -> (struct kvm_io_device_ops)->read()

Type Parameter Key Value
PARAM_VALUE 0 vcpu 4096-ptr_max
PARAM_VALUE 0 vcpu->kvm 4096-ptr_max
PARAM_VALUE 0 vcpu->run->debug.arch.exception 1,3
PARAM_VALUE 0 vcpu->run->system_event.ndata 0-1,16
PARAM_VALUE 0 vcpu->run->system_event.type 2-3,6-7
PARAM_VALUE 1 dev 4096-ptr_max
PARAM_VALUE 1 dev->ops 4096-ptr_max
PARAM_VALUE 1 dev->ops->read 147805684185284608,382259631096786944,790369022142812160,2248576444692987904,2576807395691831296,3675971618421727232,5076371808297254912
BUF_SIZE 0 vcpu s32min-(-1),1-s32max
BUF_SIZE 0 vcpu s32min-(-1),1-s32max
BUF_SIZE 4 val s32min,(-1),1-65536
BUF_SIZE 4 val s32min,(-1),1-65536
DATA_SOURCE 0 vcpu $0
DATA_SOURCE 1 dev $1
DATA_SOURCE 2 addr $2
DATA_SOURCE 3 len $3
DATA_SOURCE 4 val $4
CONTAINER 1 -0-0+0 $(-1)
USER_DATA 0 vcpu->arch.cr8 0-14[c]
USER_DATA 0 *vcpu->arch.sev_pio_data s64min-s64max
USER_DATA 4 *val s64min-s64max
NO_OVERFLOW_SIMPLE 0 vcpu->arch.pio.count
NO_OVERFLOW_SIMPLE 0 vcpu->arch.pio.size
NO_OVERFLOW_SIMPLE 0 vcpu->arch.sev_pio_count
NO_OVERFLOW_SIMPLE 0 vcpu->run->io.count
NO_OVERFLOW_SIMPLE 0 vcpu->run->io.size
USER_PTR 0 vcpu->arch.emulate_ctxt->fetch.end
USER_PTR 0 vcpu->arch.hyperv->vp_assist_page.intercept_message
USER_PTR 0 vcpu->arch.hyperv->vp_assist_page.reserved2
USER_PTR 0 vcpu->arch.hyperv->vp_assist_page.reserved3
USER_PTR 0 vcpu->arch.hyperv->vp_assist_page.reserved4
USER_PTR 0 vcpu->arch.hyperv->vp_assist_page.virtualization_fault_information
USER_PTR 0 vcpu->arch.hyperv->vp_assist_page.vtl_ret_actions
USER_PTR 4 val
HALF_LOCKED2 0 &vcpu->kvm->srcu
HALF_LOCKED2 0 &vcpu->mutex