Patch "MIPS: Force o32 fp64 support on 32bit MIPS64r6 kernels" has been added to the 4.4-stable tree
Subsystems (2)
This is a note to let you know that I've just added the patch titled
MIPS: Force o32 fp64 support on 32bit MIPS64r6 kernels
to the 4.4-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
mips-force-o32-fp64-support-on-32bit-mips64r6-kernels.patch
and it can be found in the queue-4.4 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From
2e6c7747730296a6d4fd700894286db1132598c4Mon Sep 17 00:00:00 2001
From: James Hogan <[email protected]>
Date: Thu, 16 Feb 2017 12:39:01 +0000
Subject: MIPS: Force o32 fp64 support on 32bit MIPS64r6 kernels
From: James Hogan <[email protected]>
commit 2e6c7747730296a6d4fd700894286db1132598c4 upstream.
When a 32-bit kernel is configured to support MIPS64r6 (CPU_MIPS64_R6), MIPS_O32_FP64_SUPPORT won't be selected as it should be because MIPS32_O32 is disabled (o32 is already the default ABI available on 32-bit kernels).
This results in userland FP breakage as CP0_Status.FR is read-only 1 since r6 (when an FPU is present) so __enable_fpu() will fail to clear FR. This causes the FPU emulator to get used which will incorrectly emulate 32-bit FPU registers.
Force o32 fp64 support in this case by also selecting MIPS_O32_FP64_SUPPORT from CPU_MIPS64_R6 if 32BIT.
Patchwork: https://patchwork.linux-mips.org/patch/15310/
--- arch/mips/Kconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
arch/mips/Kconfig +1 -1
@@ -1412,7 +1412,7 @@ config CPU_MIPS32_R6 select CPU_SUPPORTS_MSA select GENERIC_CSUM select HAVE_KVM - select MIPS_O32_FP64_SUPPORT + select MIPS_O32_FP64_SUPPORT if 32BIT help Choose this option to build a kernel for release 6 or later of the MIPS32 architecture. New MIPS processors, starting with the Warrior
Patches currently in stable-queue which might be from [email protected] are
queue-4.4/mips-end-spinlocks-with-.insn.patch queue-4.4/metag-usercopy-add-missing-fixups.patch queue-4.4/metag-usercopy-add-early-abort-to-copy_to_user.patch queue-4.4/mips-ralink-fix-typos-in-rt3883-pinctrl.patch queue-4.4/metag-usercopy-set-flags-before-addz.patch queue-4.4/metag-usercopy-fix-src-fixup-in-from-user-rapf-loops.patch queue-4.4/metag-usercopy-drop-unused-macros.patch queue-4.4/mips-lantiq-fix-missing-xbar-kernel-panic.patch queue-4.4/metag-usercopy-zero-rest-of-buffer-from-copy_from_user.patch queue-4.4/metag-usercopy-fix-alignment-error-checking.patch queue-4.4/mips-force-o32-fp64-support-on-32bit-mips64r6-kernels.patch