On Wed, Feb 28, 2018 at 01:52:37AM +0800, wei.guo.si...@gmail.com wrote:
> From: Simon Guo <wei.guo.si...@gmail.com>
> 
> In both HV/PR KVM, the KVM_SET_ONE_REG/KVM_GET_ONE_REG ioctl should
> be able to perform without load vcpu. This patch adds
> KVM_SET_ONE_REG/KVM_GET_ONE_REG implementation to async ioctl
> function.
> 
> Signed-off-by: Simon Guo <wei.guo.si...@gmail.com>
> ---
>  arch/powerpc/kvm/powerpc.c | 13 +++++++++++++
>  1 file changed, 13 insertions(+)
> 
> diff --git a/arch/powerpc/kvm/powerpc.c b/arch/powerpc/kvm/powerpc.c
> index 7987fa3..6afd004 100644
> --- a/arch/powerpc/kvm/powerpc.c
> +++ b/arch/powerpc/kvm/powerpc.c
> @@ -1619,6 +1619,19 @@ long kvm_arch_vcpu_async_ioctl(struct file *filp,
>                       return -EFAULT;
>               return kvm_vcpu_ioctl_interrupt(vcpu, &irq);
>       }
> +
> +     if ((ioctl == KVM_SET_ONE_REG) || (ioctl == KVM_GET_ONE_REG)) {
> +             struct kvm_one_reg reg;
> +
> +             if (copy_from_user(&reg, argp, sizeof(reg)))
> +                     return -EFAULT;
> +
> +             if (ioctl == KVM_SET_ONE_REG)
> +                     return kvm_vcpu_ioctl_set_one_reg(vcpu, &reg);
> +             else
> +                     return kvm_vcpu_ioctl_get_one_reg(vcpu, &reg);
> +     }
> +
>       return -ENOIOCTLCMD;
>  }

This seems dangerous to me, since now we can have set/get one_reg
running in parallel with vcpu execution.  Is there a really compelling
reason to do this?  If not I'd rather not make this change.

Paul.

Reply via email to