Re: [PATCH v2 29/30] KVM: PPC: add KVM_SET_ONE_REG/KVM_GET_ONE_REG to async ioctl
From: Simon Guo <hidden>
Date: 2018-05-16 02:13:36
Also in:
kvm
Hi Paul, On Tue, May 15, 2018 at 04:15:26PM +1000, Paul Mackerras wrote:
On Wed, Feb 28, 2018 at 01:52:37AM +0800, wei.guo.simon@gmail.com wrote:quoted
From: Simon Guo <redacted> 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 <redacted> --- 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(®, argp, sizeof(reg))) + return -EFAULT; + + if (ioctl == KVM_SET_ONE_REG) + return kvm_vcpu_ioctl_set_one_reg(vcpu, ®); + else + return kvm_vcpu_ioctl_get_one_reg(vcpu, ®); + } + 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.
I will remove this patch. Thanks, - Simon