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 |
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>
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> > >
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 --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
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(+)