Merge branch 'misc.compat' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
[sfrench/cifs-2.6.git] / virt / kvm / kvm_main.c
index 2dd1a9ca459988f6101c952b07e09995577e4986..f169ecc4f2e87f44ece32540b8428529aa01ae84 100644 (file)
@@ -2724,7 +2724,6 @@ static long kvm_vcpu_compat_ioctl(struct file *filp,
        case KVM_SET_SIGNAL_MASK: {
                struct kvm_signal_mask __user *sigmask_arg = argp;
                struct kvm_signal_mask kvm_sigmask;
-               compat_sigset_t csigset;
                sigset_t sigset;
 
                if (argp) {
@@ -2733,13 +2732,11 @@ static long kvm_vcpu_compat_ioctl(struct file *filp,
                                           sizeof(kvm_sigmask)))
                                goto out;
                        r = -EINVAL;
-                       if (kvm_sigmask.len != sizeof(csigset))
+                       if (kvm_sigmask.len != sizeof(compat_sigset_t))
                                goto out;
                        r = -EFAULT;
-                       if (copy_from_user(&csigset, sigmask_arg->sigset,
-                                          sizeof(csigset)))
+                       if (get_compat_sigset(&sigset, (void *)sigmask_arg->sigset))
                                goto out;
-                       sigset_from_compat(&sigset, &csigset);
                        r = kvm_vcpu_ioctl_set_sigmask(vcpu, &sigset);
                } else
                        r = kvm_vcpu_ioctl_set_sigmask(vcpu, NULL);