diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2017-11-17 14:54:55 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2017-11-17 14:54:55 -0500 |
commit | 93f30c73ecd0281cf3685ef0e4e384980a176176 (patch) | |
tree | bd272334a0dbd258c08b5b2237e8bf5e17ce7255 /virt | |
parent | 06ede5f6086757f746b7be860ae76137f4e95032 (diff) | |
parent | 96271654f55c74ff7325fbdfc535466c9deb0ce6 (diff) |
Merge branch 'misc.compat' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
Pull compat and uaccess updates from Al Viro:
- {get,put}_compat_sigset() series
- assorted compat ioctl stuff
- more set_fs() elimination
- a few more timespec64 conversions
- several removals of pointless access_ok() in places where it was
followed only by non-__ variants of primitives
* 'misc.compat' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (24 commits)
coredump: call do_unlinkat directly instead of sys_unlink
fs: expose do_unlinkat for built-in callers
ext4: take handling of EXT4_IOC_GROUP_ADD into a helper, get rid of set_fs()
ipmi: get rid of pointless access_ok()
pi433: sanitize ioctl
cxlflash: get rid of pointless access_ok()
mtdchar: get rid of pointless access_ok()
r128: switch compat ioctls to drm_ioctl_kernel()
selection: get rid of field-by-field copyin
VT_RESIZEX: get rid of field-by-field copyin
i2c compat ioctls: move to ->compat_ioctl()
sched_rr_get_interval(): move compat to native, get rid of set_fs()
mips: switch to {get,put}_compat_sigset()
sparc: switch to {get,put}_compat_sigset()
s390: switch to {get,put}_compat_sigset()
ppc: switch to {get,put}_compat_sigset()
parisc: switch to {get,put}_compat_sigset()
get_compat_sigset()
get rid of {get,put}_compat_itimerspec()
io_getevents: Use timespec64 to represent timeouts
...
Diffstat (limited to 'virt')
-rw-r--r-- | virt/kvm/kvm_main.c | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c index 2dd1a9ca4599..f169ecc4f2e8 100644 --- a/virt/kvm/kvm_main.c +++ b/virt/kvm/kvm_main.c | |||
@@ -2724,7 +2724,6 @@ static long kvm_vcpu_compat_ioctl(struct file *filp, | |||
2724 | case KVM_SET_SIGNAL_MASK: { | 2724 | case KVM_SET_SIGNAL_MASK: { |
2725 | struct kvm_signal_mask __user *sigmask_arg = argp; | 2725 | struct kvm_signal_mask __user *sigmask_arg = argp; |
2726 | struct kvm_signal_mask kvm_sigmask; | 2726 | struct kvm_signal_mask kvm_sigmask; |
2727 | compat_sigset_t csigset; | ||
2728 | sigset_t sigset; | 2727 | sigset_t sigset; |
2729 | 2728 | ||
2730 | if (argp) { | 2729 | if (argp) { |
@@ -2733,13 +2732,11 @@ static long kvm_vcpu_compat_ioctl(struct file *filp, | |||
2733 | sizeof(kvm_sigmask))) | 2732 | sizeof(kvm_sigmask))) |
2734 | goto out; | 2733 | goto out; |
2735 | r = -EINVAL; | 2734 | r = -EINVAL; |
2736 | if (kvm_sigmask.len != sizeof(csigset)) | 2735 | if (kvm_sigmask.len != sizeof(compat_sigset_t)) |
2737 | goto out; | 2736 | goto out; |
2738 | r = -EFAULT; | 2737 | r = -EFAULT; |
2739 | if (copy_from_user(&csigset, sigmask_arg->sigset, | 2738 | if (get_compat_sigset(&sigset, (void *)sigmask_arg->sigset)) |
2740 | sizeof(csigset))) | ||
2741 | goto out; | 2739 | goto out; |
2742 | sigset_from_compat(&sigset, &csigset); | ||
2743 | r = kvm_vcpu_ioctl_set_sigmask(vcpu, &sigset); | 2740 | r = kvm_vcpu_ioctl_set_sigmask(vcpu, &sigset); |
2744 | } else | 2741 | } else |
2745 | r = kvm_vcpu_ioctl_set_sigmask(vcpu, NULL); | 2742 | r = kvm_vcpu_ioctl_set_sigmask(vcpu, NULL); |