Re: [PATCH] KVM: SVM: Fix missing kvm_cache_regs.h include in svm.h

From: Sean Christopherson
Date: Thu Mar 03 2022 - 11:26:04 EST


On Thu, Mar 03, 2022, Peter Gonda wrote:
> Adds include for is_guest_mode() in svm.h.

Write changelogs as "commands", not descriptions. And a little extra verbosity
wouldn't hurt, e.g.

Include kvm_cache_regs.h to pick up the definition of is_guest_mode(),
which is referenced by nested_svm_virtualize_tpr().

Though you'll probably need a different changelog (see below).

> Just compile tested.

This belongs in the ignored part, not the changelog proper.

> Fixes: 883b0a91f41ab ("KVM: SVM: Move Nested SVM Implementation to nested.c")
> Signed-off-by: Peter Gonda <pgonda@xxxxxxxxxx>
> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx>
> Cc: Sean Christopherson <seanjc@xxxxxxxxxx>
> Cc: kvm@xxxxxxxxxxxxxxx
> Cc: linux-kernel@xxxxxxxxxxxxxxx
> ---
> arch/x86/kvm/svm/svm.h | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/arch/x86/kvm/svm/svm.h b/arch/x86/kvm/svm/svm.h
> index e45b5645d5e0..396d60e36b82 100644
> --- a/arch/x86/kvm/svm/svm.h
> +++ b/arch/x86/kvm/svm/svm.h
> @@ -22,6 +22,8 @@
> #include <asm/svm.h>
> #include <asm/sev-common.h>
>
> +#include "kvm_cache_regs.h"

Ha, we've already got a lovely workaround for exactly this problem. This patch
should drop the include from svm_onhyperv.c, there's nothing in that file that
needs kvm_cache_regs.h (I verified by deleting use of is_guest_mode()), it's
included purely because of this bug in svm.h.

diff --git a/arch/x86/kvm/svm/svm_onhyperv.c b/arch/x86/kvm/svm/svm_onhyperv.c
index 98aa981c04ec..8cdc62c74a96 100644
--- a/arch/x86/kvm/svm/svm_onhyperv.c
+++ b/arch/x86/kvm/svm/svm_onhyperv.c
@@ -4,7 +4,6 @@
*/

#include <linux/kvm_host.h>
-#include "kvm_cache_regs.h"

#include <asm/mshyperv.h>