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

From: Peter Gonda
Date: Thu Mar 03 2022 - 11:50:21 EST


On Thu, Mar 3, 2022 at 9:26 AM Sean Christopherson <seanjc@xxxxxxxxxx> wrote:
>
> 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).

Thanks Will do.

>
> > Just compile tested.
>
> This belongs in the ignored part, not the changelog proper.

Ack.

>
> > 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.

Ah good catch. I assume I should add kvm_cache_regs.h to
arch/x86/kvm/svm/nested.c too since it uses is_guest_mode().

>
> 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>
>
>