kvm: x86: avoid warning about potential shift wrapping bug
cs.base is declared as a __u64 variable and vector is a u32 so this causes a static checker warning. The user indeed can set "sipi_vector" to any u32 value in kvm_vcpu_ioctl_x86_set_vcpu_events(), but the value should really have 8-bit precision only. Reported-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
c9eab58f64
commit
2b4a273b42
|
@ -880,7 +880,7 @@ int kvm_emulate_wbinvd(struct kvm_vcpu *vcpu);
|
||||||
|
|
||||||
void kvm_get_segment(struct kvm_vcpu *vcpu, struct kvm_segment *var, int seg);
|
void kvm_get_segment(struct kvm_vcpu *vcpu, struct kvm_segment *var, int seg);
|
||||||
int kvm_load_segment_descriptor(struct kvm_vcpu *vcpu, u16 selector, int seg);
|
int kvm_load_segment_descriptor(struct kvm_vcpu *vcpu, u16 selector, int seg);
|
||||||
void kvm_vcpu_deliver_sipi_vector(struct kvm_vcpu *vcpu, unsigned int vector);
|
void kvm_vcpu_deliver_sipi_vector(struct kvm_vcpu *vcpu, u8 vector);
|
||||||
|
|
||||||
int kvm_task_switch(struct kvm_vcpu *vcpu, u16 tss_selector, int idt_index,
|
int kvm_task_switch(struct kvm_vcpu *vcpu, u16 tss_selector, int idt_index,
|
||||||
int reason, bool has_error_code, u32 error_code);
|
int reason, bool has_error_code, u32 error_code);
|
||||||
|
|
|
@ -1954,7 +1954,7 @@ int kvm_lapic_enable_pv_eoi(struct kvm_vcpu *vcpu, u64 data)
|
||||||
void kvm_apic_accept_events(struct kvm_vcpu *vcpu)
|
void kvm_apic_accept_events(struct kvm_vcpu *vcpu)
|
||||||
{
|
{
|
||||||
struct kvm_lapic *apic = vcpu->arch.apic;
|
struct kvm_lapic *apic = vcpu->arch.apic;
|
||||||
unsigned int sipi_vector;
|
u8 sipi_vector;
|
||||||
unsigned long pe;
|
unsigned long pe;
|
||||||
|
|
||||||
if (!kvm_vcpu_has_lapic(vcpu) || !apic->pending_events)
|
if (!kvm_vcpu_has_lapic(vcpu) || !apic->pending_events)
|
||||||
|
|
|
@ -7033,7 +7033,7 @@ void kvm_vcpu_reset(struct kvm_vcpu *vcpu)
|
||||||
kvm_x86_ops->vcpu_reset(vcpu);
|
kvm_x86_ops->vcpu_reset(vcpu);
|
||||||
}
|
}
|
||||||
|
|
||||||
void kvm_vcpu_deliver_sipi_vector(struct kvm_vcpu *vcpu, unsigned int vector)
|
void kvm_vcpu_deliver_sipi_vector(struct kvm_vcpu *vcpu, u8 vector)
|
||||||
{
|
{
|
||||||
struct kvm_segment cs;
|
struct kvm_segment cs;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue