Re: [PATCH/RFC] KVM: Disable compat ioctl for s390

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On 04/02/2015 12:27, Christian Borntraeger wrote:
> We never had a 31bit QEMU/kuli running. We would need to review several
> ioctls to check if this creates holes, bugs or whatever to make it work.
> Lets just disable compat support for KVM on s390.
> 
> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
> ---
>  virt/kvm/Kconfig    |  4 ++++
>  virt/kvm/kvm_main.c | 12 ++++++------
>  2 files changed, 10 insertions(+), 6 deletions(-)
> 
> diff --git a/virt/kvm/Kconfig b/virt/kvm/Kconfig
> index fc0c5e6..e84d87c 100644
> --- a/virt/kvm/Kconfig
> +++ b/virt/kvm/Kconfig
> @@ -37,3 +37,7 @@ config HAVE_KVM_CPU_RELAX_INTERCEPT
>  
>  config KVM_VFIO
>         bool
> +
> +config KVM_COMPAT
> +       def_bool y
> +       depends on COMPAT && !S390
> diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c
> index 67252e4..5894bf9 100644
> --- a/virt/kvm/kvm_main.c
> +++ b/virt/kvm/kvm_main.c
> @@ -89,7 +89,7 @@ struct dentry *kvm_debugfs_dir;
>  
>  static long kvm_vcpu_ioctl(struct file *file, unsigned int ioctl,
>  			   unsigned long arg);
> -#ifdef CONFIG_COMPAT
> +#ifdef CONFIG_KVM_COMPAT
>  static long kvm_vcpu_compat_ioctl(struct file *file, unsigned int ioctl,
>  				  unsigned long arg);
>  #endif
> @@ -1944,7 +1944,7 @@ static int kvm_vcpu_release(struct inode *inode, struct file *filp)
>  static struct file_operations kvm_vcpu_fops = {
>  	.release        = kvm_vcpu_release,
>  	.unlocked_ioctl = kvm_vcpu_ioctl,
> -#ifdef CONFIG_COMPAT
> +#ifdef CONFIG_KVM_COMPAT
>  	.compat_ioctl   = kvm_vcpu_compat_ioctl,
>  #endif
>  	.mmap           = kvm_vcpu_mmap,
> @@ -2225,7 +2225,7 @@ out:
>  	return r;
>  }
>  
> -#ifdef CONFIG_COMPAT
> +#ifdef CONFIG_KVM_COMPAT
>  static long kvm_vcpu_compat_ioctl(struct file *filp,
>  				  unsigned int ioctl, unsigned long arg)
>  {
> @@ -2317,7 +2317,7 @@ static int kvm_device_release(struct inode *inode, struct file *filp)
>  
>  static const struct file_operations kvm_device_fops = {
>  	.unlocked_ioctl = kvm_device_ioctl,
> -#ifdef CONFIG_COMPAT
> +#ifdef CONFIG_KVM_COMPAT
>  	.compat_ioctl = kvm_device_ioctl,
>  #endif
>  	.release = kvm_device_release,
> @@ -2606,7 +2606,7 @@ out:
>  	return r;
>  }
>  
> -#ifdef CONFIG_COMPAT
> +#ifdef CONFIG_KVM_COMPAT
>  struct compat_kvm_dirty_log {
>  	__u32 slot;
>  	__u32 padding1;
> @@ -2653,7 +2653,7 @@ out:
>  static struct file_operations kvm_vm_fops = {
>  	.release        = kvm_vm_release,
>  	.unlocked_ioctl = kvm_vm_ioctl,
> -#ifdef CONFIG_COMPAT
> +#ifdef CONFIG_KVM_COMPAT
>  	.compat_ioctl   = kvm_vm_compat_ioctl,
>  #endif
>  	.llseek		= noop_llseek,
> 

Looks good.

Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux