KVM: x86: Add compat handler for KVM_X86_SET_MSR_FILTER
authorAlexander Graf <graf@amazon.com>
Mon, 17 Oct 2022 18:45:41 +0000 (20:45 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 10 Nov 2022 17:14:15 +0000 (18:14 +0100)
commit4dbb739eb29c99c8b59bbb7bbaa71ec1b438f37c
tree99a8fd8f680ef6d1975f8c9e8618e7004e693111
parentbb584caee8957469dfd7549dc7accdce806f23dd
KVM: x86: Add compat handler for KVM_X86_SET_MSR_FILTER

[ Upstream commit 1739c7017fb1d759965dcbab925ff5980a5318cb ]

The KVM_X86_SET_MSR_FILTER ioctls contains a pointer in the passed in
struct which means it has a different struct size depending on whether
it gets called from 32bit or 64bit code.

This patch introduces compat code that converts from the 32bit struct to
its 64bit counterpart which then gets used going forward internally.
With this applied, 32bit QEMU can successfully set MSR bitmaps when
running on 64bit kernels.

Reported-by: Andrew Randrianasulu <randrianasulu@gmail.com>
Fixes: 1a155254ff937 ("KVM: x86: Introduce MSR filtering")
Signed-off-by: Alexander Graf <graf@amazon.com>
Message-Id: <20221017184541.2658-4-graf@amazon.com>
Cc: stable@vger.kernel.org
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
arch/x86/kvm/x86.c