linmiaohe <linmiaohe@xxxxxxxxxx> writes: > From: Miaohe Lin <linmiaohe@xxxxxxxxxx> > > When get user eoi value failed, var val would be uninitialized and result > in calculating pending eoi from an uninitialized val. Initialize var val > to 0 to fix this case. Let me try to suggest an alternative wording, "When pv_eoi_get_user() fails, 'val' may remain uninitialized and the return value of pv_eoi_get_pending() becomes random. Fix the issue by initializing the variable." > > Signed-off-by: Miaohe Lin <linmiaohe@xxxxxxxxxx> > --- > arch/x86/kvm/lapic.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/arch/x86/kvm/lapic.c b/arch/x86/kvm/lapic.c > index 4f14ec7525f6..7e77e94f3176 100644 > --- a/arch/x86/kvm/lapic.c > +++ b/arch/x86/kvm/lapic.c > @@ -626,7 +626,7 @@ static inline bool pv_eoi_enabled(struct kvm_vcpu *vcpu) > > static bool pv_eoi_get_pending(struct kvm_vcpu *vcpu) > { > - u8 val; > + u8 val = 0; > if (pv_eoi_get_user(vcpu, &val) < 0) > printk(KERN_WARNING "Can't read EOI MSR value: 0x%llx\n", > (unsigned long long)vcpu->arch.pv_eoi.msr_val); Reviewed-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> But why compilers don't complain? -- Vitaly