diff mbox series

KVM: SVM: Fix missing kvm_cache_regs.h include in svm.h

Message ID 20220303160442.1815411-1-pgonda@google.com (mailing list archive)
State New, archived
Headers show
Series KVM: SVM: Fix missing kvm_cache_regs.h include in svm.h | expand

Commit Message

Peter Gonda March 3, 2022, 4:04 p.m. UTC
Adds include for is_guest_mode() in svm.h.

Just compile tested.

Fixes: 883b0a91f41ab ("KVM: SVM: Move Nested SVM Implementation to nested.c")
Signed-off-by: Peter Gonda <pgonda@google.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: Sean Christopherson <seanjc@google.com>
Cc: kvm@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
---
 arch/x86/kvm/svm/svm.h | 2 ++
 1 file changed, 2 insertions(+)

Comments

Sean Christopherson March 3, 2022, 4:25 p.m. UTC | #1
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@google.com>
> Cc: Paolo Bonzini <pbonzini@redhat.com>
> Cc: Sean Christopherson <seanjc@google.com>
> Cc: kvm@vger.kernel.org
> Cc: linux-kernel@vger.kernel.org
> ---
>  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>
Peter Gonda March 3, 2022, 4:49 p.m. UTC | #2
On Thu, Mar 3, 2022 at 9:26 AM Sean Christopherson <seanjc@google.com> 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@google.com>
> > Cc: Paolo Bonzini <pbonzini@redhat.com>
> > Cc: Sean Christopherson <seanjc@google.com>
> > Cc: kvm@vger.kernel.org
> > Cc: linux-kernel@vger.kernel.org
> > ---
> >  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>
>
>
Sean Christopherson March 3, 2022, 4:59 p.m. UTC | #3
On Thu, Mar 03, 2022, Peter Gonda wrote:
> On Thu, Mar 3, 2022 at 9:26 AM Sean Christopherson <seanjc@google.com> wrote:
> > 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().

Nah, picking it up from svm.h (and several other headers) is ok.  If we required
every compilation unit to _directly_ include every header, we'd probably double
the size of the kernel source :-)
diff mbox series

Patch

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"
+
 #define __sme_page_pa(x) __sme_set(page_to_pfn(x) << PAGE_SHIFT)
 
 #define	IOPM_SIZE PAGE_SIZE * 3