From cd10b206a0bfbc857caee83f682af9ed7f45778f Mon Sep 17 00:00:00 2001
From: Zhang Xiantao <xiantao.zhang@intel.com>
Date: Sun, 3 Feb 2008 14:46:02 +0800
Subject: [PATCH] kvm: Let ioctl_get_regs suppot input pararmeters.

Since kvm_regs is allocated from kernel stack, and
its size is limited. In order to save large register
files of some archs, this API should accept input parameters.
User need to  pass a user-space pointer with large memory, and
kernel can copy reigster files to it.
Signed-off-by: Xiantao Zhang<xiantao.zhang@intel.com>
---
 virt/kvm/kvm_main.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c
index a499f50..6d74d0b 100644
--- a/virt/kvm/kvm_main.c
+++ b/virt/kvm/kvm_main.c
@@ -807,7 +807,8 @@ static long kvm_vcpu_ioctl(struct file *filp,
 	case KVM_GET_REGS: {
 		struct kvm_regs kvm_regs;
 
-		memset(&kvm_regs, 0, sizeof kvm_regs);
+		if (copy_from_user(&kvm_regs, argp, sizeof kvm_regs))
+			goto out;
 		r = kvm_arch_vcpu_ioctl_get_regs(vcpu, &kvm_regs);
 		if (r)
 			goto out;
-- 
1.5.2

