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 <[email protected]>
> Cc: Paolo Bonzini <[email protected]>
> Cc: Sean Christopherson <[email protected]>
> Cc: [email protected]
> Cc: [email protected]
> ---
> 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>
On Thu, Mar 3, 2022 at 9:26 AM Sean Christopherson <[email protected]> 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 <[email protected]>
> > Cc: Paolo Bonzini <[email protected]>
> > Cc: Sean Christopherson <[email protected]>
> > Cc: [email protected]
> > Cc: [email protected]
> > ---
> > 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>
>
>
On Thu, Mar 03, 2022, Peter Gonda wrote:
> On Thu, Mar 3, 2022 at 9:26 AM Sean Christopherson <[email protected]> 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 :-)