KVM: x86: support XSAVES usage in the host
authorPaolo Bonzini <pbonzini@redhat.com>
Fri, 21 Nov 2014 18:05:07 +0000 (19:05 +0100)
committerPaolo Bonzini <pbonzini@redhat.com>
Fri, 5 Dec 2014 12:57:05 +0000 (13:57 +0100)
commitdf1daba7d1cb8ed7957f873cde5c9e953cbaa483
tree7779c9c8d78cbe289779c22f1e0d04ee0a49afa0
parentba7b39203a3a18018173b87e73f27169bd8e5147
KVM: x86: support XSAVES usage in the host

Userspace is expecting non-compacted format for KVM_GET_XSAVE, but
struct xsave_struct might be using the compacted format.  Convert
in order to preserve userspace ABI.

Likewise, userspace is passing non-compacted format for KVM_SET_XSAVE
but the kernel will pass it to XRSTORS, and we need to convert back.

Fixes: f31a9f7c71691569359fa7fb8b0acaa44bce0324
Cc: Fenghua Yu <fenghua.yu@intel.com>
Cc: stable@vger.kernel.org
Cc: H. Peter Anvin <hpa@linux.intel.com>
Tested-by: Nadav Amit <namit@cs.technion.ac.il>
Reviewed-by: Radim Krčmář <rkrcmar@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
arch/x86/kvm/x86.c