summaryrefslogtreecommitdiff
path: root/arch/x86/kvm/x86.c
diff options
context:
space:
mode:
authorJan Kiszka <jan.kiszka@siemens.com>2010-05-25 16:01:50 +0200
committerAvi Kivity <avi@redhat.com>2010-08-01 10:39:22 +0300
commit10ab25cd6bf7ee4e5a55d81f203f7dc1a855c27e (patch)
tree89b1f58c09a102f1aa5c9b549c13e1f9a0a3ee3d /arch/x86/kvm/x86.c
parent6dc696d4ddf2181eefee361e1d24a49351aef1f6 (diff)
downloadlwn-10ab25cd6bf7ee4e5a55d81f203f7dc1a855c27e.tar.gz
lwn-10ab25cd6bf7ee4e5a55d81f203f7dc1a855c27e.zip
KVM: x86: Propagate fpu_alloc errors
Memory allocation may fail. Propagate such errors. Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> Reviewed-by: Sheng Yang <sheng@linux.intel.com> Signed-off-by: Avi Kivity <avi@redhat.com>
Diffstat (limited to 'arch/x86/kvm/x86.c')
-rw-r--r--arch/x86/kvm/x86.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
index 033b9c207f93..e6e0d7781af7 100644
--- a/arch/x86/kvm/x86.c
+++ b/arch/x86/kvm/x86.c
@@ -5114,12 +5114,19 @@ int kvm_arch_vcpu_ioctl_set_fpu(struct kvm_vcpu *vcpu, struct kvm_fpu *fpu)
return 0;
}
-void fx_init(struct kvm_vcpu *vcpu)
+int fx_init(struct kvm_vcpu *vcpu)
{
- fpu_alloc(&vcpu->arch.guest_fpu);
+ int err;
+
+ err = fpu_alloc(&vcpu->arch.guest_fpu);
+ if (err)
+ return err;
+
fpu_finit(&vcpu->arch.guest_fpu);
vcpu->arch.cr0 |= X86_CR0_ET;
+
+ return 0;
}
EXPORT_SYMBOL_GPL(fx_init);