Messages in this thread | | | From | Vitaly Kuznetsov <> | Subject | Re: [PATCH] KVM: x86: fix for missing initialization of return status variable | Date | Mon, 06 Dec 2021 10:06:26 +0100 |
| |
Ameer Hamza <amhamza.mgc@gmail.com> writes:
> If undefined ioctl number is passed to the kvm_vcpu_ioctl_device_attr > function, it should return with error status. > > Addresses-Coverity: 1494124 ("Uninitialized scalar variable") > > Signed-off-by: Ameer Hamza <amhamza.mgc@gmail.com> > --- > arch/x86/kvm/x86.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c > index e0aa4dd53c7f..55b90c185717 100644 > --- a/arch/x86/kvm/x86.c > +++ b/arch/x86/kvm/x86.c > @@ -5001,7 +5001,7 @@ static int kvm_vcpu_ioctl_device_attr(struct kvm_vcpu *vcpu, > void __user *argp) > { > struct kvm_device_attr attr; > - int r; > + int r = -EINVAL; > > if (copy_from_user(&attr, argp, sizeof(attr))) > return -EFAULT;
The reported issue is not real, kvm_vcpu_ioctl_device_attr() is never called with anything but [KVM_HAS_DEVICE_ATTR, KVM_GET_DEVICE_ATTR, KVM_SET_DEVICE_ATTR] as 'ioctl' and the switch below covers all three. Instead of initializing 'r' we could've added a 'default' case to the switch, either returning something like EINVAL or just BUG(). Hope it'll silence coverity.
-- Vitaly
| |