android_kernel_motorola_sm6375/arch/mips
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Xi Ruoyao 200d17b226 mips: Call lose_fpu(0) before initializing fcr31 in mips_set_personality_nan
commit 59be5c35850171e307ca5d3d703ee9ff4096b948 upstream.

If we still own the FPU after initializing fcr31, when we are preempted
the dirty value in the FPU will be read out and stored into fcr31,
clobbering our setting.  This can cause an improper floating-point
environment after execve().  For example:

    zsh% cat measure.c
    #include <fenv.h>
    int main() { return fetestexcept(FE_INEXACT); }
    zsh% cc measure.c -o measure -lm
    zsh% echo $((1.0/3)) # raising FE_INEXACT
    0.33333333333333331
    zsh% while ./measure; do ; done
    (stopped in seconds)

Call lose_fpu(0) before setting fcr31 to prevent this.

Closes: https://lore.kernel.org/linux-mips/7a6aa1bbdbbe2e63ae96ff163fab0349f58f1b9e.camel@xry111.site/
Fixes: 9b26616c8d ("MIPS: Respect the ISA level in FCSR handling")
Cc: stable@vger.kernel.org
Signed-off-by: Xi Ruoyao <xry111@xry111.site>
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-02-23 08:24:53 +01:00
..
alchemy MIPS: Alchemy: Fix an out-of-bound access in db1550_dev_setup() 2024-01-25 14:34:30 -08:00
ar7
ath25
ath79
bcm47xx MIPS: BCM47XX: Cast memcmp() of function to (void *) 2022-10-26 13:22:47 +02:00
bcm63xx MIPS: BCM63xx: Add check for NULL for clk in clk_enable 2023-01-18 11:40:58 +01:00
bmips mips: bmips: BCM6358: disable RAC flush for TP1 2023-04-05 11:16:43 +02:00
boot mips: disable branch profiling in boot/decompress.o 2021-07-20 16:10:53 +02:00
cavium-octeon MIPS: OCTEON: warn only once if deprecated link status is being used 2023-01-18 11:40:58 +01:00
cobalt
configs Remove DECnet support from kernel 2023-06-21 15:44:10 +02:00
crypto
dec mips: DEC: honor CONFIG_MIPS_FP_SUPPORT=n 2022-04-15 14:18:15 +02:00
emma
fw MIPS: fw: Allow firmware to pass a empty env 2023-05-17 11:35:32 +02:00
generic MIPS: generic/yamon-dt: fix uninitialized variable error 2021-11-26 10:47:19 +01:00
include MIPS: cpu-features: Use boot_cpu_type for CPU type based features 2023-08-30 16:27:21 +02:00
jazz dma-mapping: drop the dev argument to arch_sync_dma_for_* 2023-04-05 11:16:43 +02:00
jz4740 MIPS: fix build with gcc-12 2022-05-18 09:47:28 +02:00
kernel mips: Call lose_fpu(0) before initializing fcr31 in mips_set_personality_nan 2024-02-23 08:24:53 +01:00
kvm MIPS: KVM: Fix a build warning about variable set but not used 2023-12-08 08:44:24 +01:00
lantiq MIPS: vpe-mt: drop physical_memsize 2023-03-11 16:43:52 +01:00
lasat treewide: Replace DECLARE_TASKLET() with DECLARE_TASKLET_OLD() 2023-04-20 12:07:32 +02:00
lib treewide: Remove uninitialized_var() usage 2023-06-09 10:29:01 +02:00
loongson32 MIPS: Loongson32: Fix PHY-mode being left unspecified 2022-09-28 11:04:06 +02:00
loongson64 MIPS: loongsoon64: Reserve memory below starting pfn to prevent Oops 2021-07-19 08:53:13 +02:00
math-emu
mm treewide: Remove uninitialized_var() usage 2023-06-09 10:29:01 +02:00
mti-malta MIPS: Malta: fix alignment of the devicetree buffer 2021-09-22 12:26:26 +02:00
net bpf, mips: Validate conditional branch offsets 2021-10-13 10:08:17 +02:00
netlogic
oprofile
paravirt
pci MIPS: pci-legacy: stop using of_pci_range_to_resource 2021-05-14 09:44:30 +02:00
pic32 MIPS: pic32: treat port as signed integer 2022-12-08 11:22:57 +01:00
pistachio
pmcs-msp71xx
pnx833x
power
ralink MIPS: Use address-of operator on section symbols 2022-05-15 19:54:46 +02:00
rb532 MIPS: RB532: fix return value of __setup handler 2022-04-15 14:18:16 +02:00
sgi-ip22
sgi-ip27
sgi-ip32
sibyte
sni MIPS: sni: Fix the build 2021-11-26 10:47:16 +01:00
tools
txx9
vdso MIPS: VDSO: Use CLANG_FLAGS instead of filtering out '--target=' 2021-03-07 12:20:41 +01:00
vr41xx MIPS: Remove repetitive increase irq_err_count 2022-06-29 08:58:46 +02:00
Kbuild
Kbuild.platforms
Kconfig mips/cpu: Switch to arch_cpu_finalize_init() 2023-08-08 19:56:34 +02:00
Kconfig.debug
Makefile mips: Fix non-POSIX regexp 2021-08-12 13:20:57 +02:00
Makefile.postlink