KVM: Future-proof argument-less ioctls
authorAvi Kivity <avi@qumranet.com>
Wed, 7 Mar 2007 11:11:17 +0000 (13:11 +0200)
committerAvi Kivity <avi@qumranet.com>
Thu, 3 May 2007 07:52:25 +0000 (10:52 +0300)
Some ioctls ignore their arguments.  By requiring them to be zero now,
we allow a nonzero value to have some special meaning in the future.

Signed-off-by: Avi Kivity <avi@qumranet.com>
drivers/kvm/kvm_main.c

index cba0b87..ba7f43a 100644 (file)
@@ -2169,6 +2169,9 @@ static long kvm_vcpu_ioctl(struct file *filp,
 
        switch (ioctl) {
        case KVM_RUN:
+               r = -EINVAL;
+               if (arg)
+                       goto out;
                r = kvm_vcpu_ioctl_run(vcpu, vcpu->run);
                break;
        case KVM_GET_REGS: {
@@ -2440,9 +2443,15 @@ static long kvm_dev_ioctl(struct file *filp,
 
        switch (ioctl) {
        case KVM_GET_API_VERSION:
+               r = -EINVAL;
+               if (arg)
+                       goto out;
                r = KVM_API_VERSION;
                break;
        case KVM_CREATE_VM:
+               r = -EINVAL;
+               if (arg)
+                       goto out;
                r = kvm_dev_ioctl_create_vm();
                break;
        case KVM_GET_MSR_INDEX_LIST: {