diff mbox

[stable,3.10,3.12,3.14] MIPS: Export FP functions used by lose_fpu(1) for KVM

Message ID 1425571724-9480-1-git-send-email-james.hogan@imgtec.com (mailing list archive)
State New, archived
Headers show

Commit Message

James Hogan March 5, 2015, 4:08 p.m. UTC
[ Upstream commit 3ce465e04bfd8de9956d515d6e9587faac3375dc ]

Export the _save_fp asm function used by the lose_fpu(1) macro to GPL
modules so that KVM can make use of it when it is built as a module.

This fixes the following build error when CONFIG_KVM=m due to commit
f798217dfd03 ("KVM: MIPS: Don't leak FPU/DSP to guest"):

ERROR: "_save_fp" [arch/mips/kvm/kvm.ko] undefined!

Signed-off-by: James Hogan <james.hogan@imgtec.com>
Fixes: f798217dfd03 (KVM: MIPS: Don't leak FPU/DSP to guest)
Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: Ralf Baechle <ralf@linux-mips.org>
Cc: Paul Burton <paul.burton@imgtec.com>
Cc: Gleb Natapov <gleb@kernel.org>
Cc: kvm@vger.kernel.org
Cc: linux-mips@linux-mips.org
Cc: <stable@vger.kernel.org> # 3.10...3.15
Patchwork: https://patchwork.linux-mips.org/patch/9260/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
[james.hogan@imgtec.com: Only export when CPU_R4K_FPU=y prior to v3.16,
 so as not to break the Octeon build which excludes FPU support. KVM
 depends on MIPS32r2 anyway.]
Signed-off-by: James Hogan <james.hogan@imgtec.com>
---
Appologies for the previous cavium_octeon_defconfig link breakage.
Octeon has the symbol since 3.16, but not before. This backport should
do the trick for stable 3.10, 3.12, and 3.14. Build tested with
cavium_octeon_defconfig and malta_kvm_defconfig on those stable
branches.
---
 arch/mips/kernel/mips_ksyms.c | 8 ++++++++
 1 file changed, 8 insertions(+)

Comments

Greg Kroah-Hartman March 6, 2015, 6:30 a.m. UTC | #1
On Thu, Mar 05, 2015 at 04:08:44PM +0000, James Hogan wrote:
> [ Upstream commit 3ce465e04bfd8de9956d515d6e9587faac3375dc ]
> 
> Export the _save_fp asm function used by the lose_fpu(1) macro to GPL
> modules so that KVM can make use of it when it is built as a module.
> 
> This fixes the following build error when CONFIG_KVM=m due to commit
> f798217dfd03 ("KVM: MIPS: Don't leak FPU/DSP to guest"):
> 
> ERROR: "_save_fp" [arch/mips/kvm/kvm.ko] undefined!
> 
> Signed-off-by: James Hogan <james.hogan@imgtec.com>
> Fixes: f798217dfd03 (KVM: MIPS: Don't leak FPU/DSP to guest)
> Cc: Paolo Bonzini <pbonzini@redhat.com>
> Cc: Ralf Baechle <ralf@linux-mips.org>
> Cc: Paul Burton <paul.burton@imgtec.com>
> Cc: Gleb Natapov <gleb@kernel.org>
> Cc: kvm@vger.kernel.org
> Cc: linux-mips@linux-mips.org
> Cc: <stable@vger.kernel.org> # 3.10...3.15
> Patchwork: https://patchwork.linux-mips.org/patch/9260/
> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
> [james.hogan@imgtec.com: Only export when CPU_R4K_FPU=y prior to v3.16,
>  so as not to break the Octeon build which excludes FPU support. KVM
>  depends on MIPS32r2 anyway.]
> Signed-off-by: James Hogan <james.hogan@imgtec.com>
> ---
> Appologies for the previous cavium_octeon_defconfig link breakage.
> Octeon has the symbol since 3.16, but not before. This backport should
> do the trick for stable 3.10, 3.12, and 3.14. Build tested with
> cavium_octeon_defconfig and malta_kvm_defconfig on those stable
> branches.
> ---
>  arch/mips/kernel/mips_ksyms.c | 8 ++++++++
>  1 file changed, 8 insertions(+)

Now fixed up, thanks.

greg k-h
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Guenter Roeck March 6, 2015, 4:22 p.m. UTC | #2
On Thu, Mar 05, 2015 at 10:30:34PM -0800, Greg Kroah-Hartman wrote:
> On Thu, Mar 05, 2015 at 04:08:44PM +0000, James Hogan wrote:
> > [ Upstream commit 3ce465e04bfd8de9956d515d6e9587faac3375dc ]
> > 
> > Export the _save_fp asm function used by the lose_fpu(1) macro to GPL
> > modules so that KVM can make use of it when it is built as a module.
> > 
> > This fixes the following build error when CONFIG_KVM=m due to commit
> > f798217dfd03 ("KVM: MIPS: Don't leak FPU/DSP to guest"):
> > 
> > ERROR: "_save_fp" [arch/mips/kvm/kvm.ko] undefined!
> > 
> > Signed-off-by: James Hogan <james.hogan@imgtec.com>
> > Fixes: f798217dfd03 (KVM: MIPS: Don't leak FPU/DSP to guest)
> > Cc: Paolo Bonzini <pbonzini@redhat.com>
> > Cc: Ralf Baechle <ralf@linux-mips.org>
> > Cc: Paul Burton <paul.burton@imgtec.com>
> > Cc: Gleb Natapov <gleb@kernel.org>
> > Cc: kvm@vger.kernel.org
> > Cc: linux-mips@linux-mips.org
> > Cc: <stable@vger.kernel.org> # 3.10...3.15
> > Patchwork: https://patchwork.linux-mips.org/patch/9260/
> > Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
> > [james.hogan@imgtec.com: Only export when CPU_R4K_FPU=y prior to v3.16,
> >  so as not to break the Octeon build which excludes FPU support. KVM
> >  depends on MIPS32r2 anyway.]
> > Signed-off-by: James Hogan <james.hogan@imgtec.com>
> > ---
> > Appologies for the previous cavium_octeon_defconfig link breakage.
> > Octeon has the symbol since 3.16, but not before. This backport should
> > do the trick for stable 3.10, 3.12, and 3.14. Build tested with
> > cavium_octeon_defconfig and malta_kvm_defconfig on those stable
> > branches.
> > ---
> >  arch/mips/kernel/mips_ksyms.c | 8 ++++++++
> >  1 file changed, 8 insertions(+)
> 
> Now fixed up, thanks.
> 
My auto-builders still fail to build cavium_octeon_defconfig for 3.10 and 3.14,
and as far as I can see they picked up no changes. Did you push the changes into
the stable queue repository ?

Thanks,
Guenter
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Greg Kroah-Hartman March 6, 2015, 5:45 p.m. UTC | #3
On Fri, Mar 06, 2015 at 08:22:49AM -0800, Guenter Roeck wrote:
> On Thu, Mar 05, 2015 at 10:30:34PM -0800, Greg Kroah-Hartman wrote:
> > On Thu, Mar 05, 2015 at 04:08:44PM +0000, James Hogan wrote:
> > > [ Upstream commit 3ce465e04bfd8de9956d515d6e9587faac3375dc ]
> > > 
> > > Export the _save_fp asm function used by the lose_fpu(1) macro to GPL
> > > modules so that KVM can make use of it when it is built as a module.
> > > 
> > > This fixes the following build error when CONFIG_KVM=m due to commit
> > > f798217dfd03 ("KVM: MIPS: Don't leak FPU/DSP to guest"):
> > > 
> > > ERROR: "_save_fp" [arch/mips/kvm/kvm.ko] undefined!
> > > 
> > > Signed-off-by: James Hogan <james.hogan@imgtec.com>
> > > Fixes: f798217dfd03 (KVM: MIPS: Don't leak FPU/DSP to guest)
> > > Cc: Paolo Bonzini <pbonzini@redhat.com>
> > > Cc: Ralf Baechle <ralf@linux-mips.org>
> > > Cc: Paul Burton <paul.burton@imgtec.com>
> > > Cc: Gleb Natapov <gleb@kernel.org>
> > > Cc: kvm@vger.kernel.org
> > > Cc: linux-mips@linux-mips.org
> > > Cc: <stable@vger.kernel.org> # 3.10...3.15
> > > Patchwork: https://patchwork.linux-mips.org/patch/9260/
> > > Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
> > > [james.hogan@imgtec.com: Only export when CPU_R4K_FPU=y prior to v3.16,
> > >  so as not to break the Octeon build which excludes FPU support. KVM
> > >  depends on MIPS32r2 anyway.]
> > > Signed-off-by: James Hogan <james.hogan@imgtec.com>
> > > ---
> > > Appologies for the previous cavium_octeon_defconfig link breakage.
> > > Octeon has the symbol since 3.16, but not before. This backport should
> > > do the trick for stable 3.10, 3.12, and 3.14. Build tested with
> > > cavium_octeon_defconfig and malta_kvm_defconfig on those stable
> > > branches.
> > > ---
> > >  arch/mips/kernel/mips_ksyms.c | 8 ++++++++
> > >  1 file changed, 8 insertions(+)
> > 
> > Now fixed up, thanks.
> > 
> My auto-builders still fail to build cavium_octeon_defconfig for 3.10 and 3.14,
> and as far as I can see they picked up no changes. Did you push the changes into
> the stable queue repository ?

I didn't push it publically, didn't have access to my 2-factor key so
couldn't do it.  Should be there now, sorry about that.

greg k-h
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Guenter Roeck March 6, 2015, 8:42 p.m. UTC | #4
On Fri, Mar 06, 2015 at 09:45:16AM -0800, Greg Kroah-Hartman wrote:
> On Fri, Mar 06, 2015 at 08:22:49AM -0800, Guenter Roeck wrote:
> > On Thu, Mar 05, 2015 at 10:30:34PM -0800, Greg Kroah-Hartman wrote:
> > > On Thu, Mar 05, 2015 at 04:08:44PM +0000, James Hogan wrote:
> > > > [ Upstream commit 3ce465e04bfd8de9956d515d6e9587faac3375dc ]
> > > > 
> > > > Export the _save_fp asm function used by the lose_fpu(1) macro to GPL
> > > > modules so that KVM can make use of it when it is built as a module.
> > > > 
> > > > This fixes the following build error when CONFIG_KVM=m due to commit
> > > > f798217dfd03 ("KVM: MIPS: Don't leak FPU/DSP to guest"):
> > > > 
> > > > ERROR: "_save_fp" [arch/mips/kvm/kvm.ko] undefined!
> > > > 
> > > > Signed-off-by: James Hogan <james.hogan@imgtec.com>
> > > > Fixes: f798217dfd03 (KVM: MIPS: Don't leak FPU/DSP to guest)
> > > > Cc: Paolo Bonzini <pbonzini@redhat.com>
> > > > Cc: Ralf Baechle <ralf@linux-mips.org>
> > > > Cc: Paul Burton <paul.burton@imgtec.com>
> > > > Cc: Gleb Natapov <gleb@kernel.org>
> > > > Cc: kvm@vger.kernel.org
> > > > Cc: linux-mips@linux-mips.org
> > > > Cc: <stable@vger.kernel.org> # 3.10...3.15
> > > > Patchwork: https://patchwork.linux-mips.org/patch/9260/
> > > > Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
> > > > [james.hogan@imgtec.com: Only export when CPU_R4K_FPU=y prior to v3.16,
> > > >  so as not to break the Octeon build which excludes FPU support. KVM
> > > >  depends on MIPS32r2 anyway.]
> > > > Signed-off-by: James Hogan <james.hogan@imgtec.com>
> > > > ---
> > > > Appologies for the previous cavium_octeon_defconfig link breakage.
> > > > Octeon has the symbol since 3.16, but not before. This backport should
> > > > do the trick for stable 3.10, 3.12, and 3.14. Build tested with
> > > > cavium_octeon_defconfig and malta_kvm_defconfig on those stable
> > > > branches.
> > > > ---
> > > >  arch/mips/kernel/mips_ksyms.c | 8 ++++++++
> > > >  1 file changed, 8 insertions(+)
> > > 
> > > Now fixed up, thanks.
> > > 
> > My auto-builders still fail to build cavium_octeon_defconfig for 3.10 and 3.14,
> > and as far as I can see they picked up no changes. Did you push the changes into
> > the stable queue repository ?
> 
> I didn't push it publically, didn't have access to my 2-factor key so
> couldn't do it.  Should be there now, sorry about that.
> 
Confirmed, all is good now.

Thanks,
Guenter
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Jiri Slaby March 7, 2015, 1:30 p.m. UTC | #5
On 03/05/2015, 05:08 PM, James Hogan wrote:
> [ Upstream commit 3ce465e04bfd8de9956d515d6e9587faac3375dc ]
> 
> Export the _save_fp asm function used by the lose_fpu(1) macro to GPL
> modules so that KVM can make use of it when it is built as a module.
> 
> This fixes the following build error when CONFIG_KVM=m due to commit
> f798217dfd03 ("KVM: MIPS: Don't leak FPU/DSP to guest"):
> 
> ERROR: "_save_fp" [arch/mips/kvm/kvm.ko] undefined!
> 
> Signed-off-by: James Hogan <james.hogan@imgtec.com>
> Fixes: f798217dfd03 (KVM: MIPS: Don't leak FPU/DSP to guest)
> Cc: Paolo Bonzini <pbonzini@redhat.com>
> Cc: Ralf Baechle <ralf@linux-mips.org>
> Cc: Paul Burton <paul.burton@imgtec.com>
> Cc: Gleb Natapov <gleb@kernel.org>
> Cc: kvm@vger.kernel.org
> Cc: linux-mips@linux-mips.org
> Cc: <stable@vger.kernel.org> # 3.10...3.15
> Patchwork: https://patchwork.linux-mips.org/patch/9260/
> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
> [james.hogan@imgtec.com: Only export when CPU_R4K_FPU=y prior to v3.16,
>  so as not to break the Octeon build which excludes FPU support. KVM
>  depends on MIPS32r2 anyway.]
> Signed-off-by: James Hogan <james.hogan@imgtec.com>
> ---
> Appologies for the previous cavium_octeon_defconfig link breakage.
> Octeon has the symbol since 3.16, but not before. This backport should
> do the trick for stable 3.10, 3.12, and 3.14. Build tested with
> cavium_octeon_defconfig and malta_kvm_defconfig on those stable
> branches.

Applied to 3.12 now. Thanks.
diff mbox

Patch

diff --git a/arch/mips/kernel/mips_ksyms.c b/arch/mips/kernel/mips_ksyms.c
index 6e58e97fcd39..cedeb5686eb5 100644
--- a/arch/mips/kernel/mips_ksyms.c
+++ b/arch/mips/kernel/mips_ksyms.c
@@ -14,6 +14,7 @@ 
 #include <linux/mm.h>
 #include <asm/uaccess.h>
 #include <asm/ftrace.h>
+#include <asm/fpu.h>
 
 extern void *__bzero(void *__s, size_t __count);
 extern long __strncpy_from_user_nocheck_asm(char *__to,
@@ -26,6 +27,13 @@  extern long __strnlen_user_nocheck_asm(const char *s);
 extern long __strnlen_user_asm(const char *s);
 
 /*
+ * Core architecture code
+ */
+#ifdef CONFIG_CPU_R4K_FPU
+EXPORT_SYMBOL_GPL(_save_fp);
+#endif
+
+/*
  * String functions
  */
 EXPORT_SYMBOL(memset);