From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paul Mackerras Date: Tue, 22 Oct 2019 00:43:35 +0000 Subject: Re: [PATCH 2/3] powerpc/kvm/book3e: Replace current->mm by kvm->mm Message-Id: <20191022004335.GA30981@oak.ozlabs.ibm.com> List-Id: References: <20190923212409.7153-1-leonardo@linux.ibm.com> <20190923212409.7153-3-leonardo@linux.ibm.com> In-Reply-To: <20190923212409.7153-3-leonardo@linux.ibm.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit To: Leonardo Bras Cc: kvm@vger.kernel.org, kvm-ppc@vger.kernel.org, Benjamin Herrenschmidt , Michael Ellerman On Mon, Sep 23, 2019 at 06:24:08PM -0300, Leonardo Bras wrote: > Given that in kvm_create_vm() there is: > kvm->mm = current->mm; > > And that on every kvm_*_ioctl we have: > if (kvm->mm != current->mm) > return -EIO; > > I see no reason to keep using current->mm instead of kvm->mm. > > By doing so, we would reduce the use of 'global' variables on code, relying > more in the contents of kvm struct. > > Signed-off-by: Leonardo Bras > --- > arch/powerpc/kvm/booke.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/arch/powerpc/kvm/booke.c b/arch/powerpc/kvm/booke.c > index be9a45874194..383108263af5 100644 > --- a/arch/powerpc/kvm/booke.c > +++ b/arch/powerpc/kvm/booke.c > @@ -775,7 +775,7 @@ int kvmppc_vcpu_run(struct kvm_run *kvm_run, struct kvm_vcpu *vcpu) > debug = current->thread.debug; > current->thread.debug = vcpu->arch.dbg_reg; > > - vcpu->arch.pgdir = current->mm->pgd; > + vcpu->arch.pgdir = kvm->mm->pgd; > kvmppc_fix_ee_before_entry(); > > ret = __kvmppc_vcpu_run(kvm_run, vcpu); With this patch, I get compile errors for Book E configs: CC arch/powerpc/kvm/booke.o /home/paulus/kernel/kvm/arch/powerpc/kvm/booke.c: In function ‘kvmppc_vcpu_run’: /home/paulus/kernel/kvm/arch/powerpc/kvm/booke.c:778:21: error: ‘kvm’ undeclared (first use in this function) vcpu->arch.pgdir = kvm->mm->pgd; ^ /home/paulus/kernel/kvm/arch/powerpc/kvm/booke.c:778:21: note: each undeclared identifier is reported only once for each function it appears in make[3]: *** [/home/paulus/kernel/kvm/scripts/Makefile.build:266: arch/powerpc/kvm/booke.o] Error 1 make[2]: *** [/home/paulus/kernel/kvm/scripts/Makefile.build:509: arch/powerpc/kvm] Error 2 make[1]: *** [/home/paulus/kernel/kvm/Makefile:1649: arch/powerpc] Error 2 make: *** [/home/paulus/kernel/kvm/Makefile:179: sub-make] Error 2 It seems that you didn't compile-test this patch. Paul.