OpenCloudOS-Kernel/arch/mips
Aaro Koskinen 608308682a MIPS: OCTEON: make get_system_type() thread-safe
get_system_type() is not thread-safe on OCTEON. It uses static data,
also more dangerous issue is that it's calling cvmx_fuse_read_byte()
every time without any synchronization. Currently it's possible to get
processes stuck looping forever in kernel simply by launching multiple
readers of /proc/cpuinfo:

	(while true; do cat /proc/cpuinfo > /dev/null; done) &
	(while true; do cat /proc/cpuinfo > /dev/null; done) &
	...

Fix by initializing the system type string only once during the early
boot.

Signed-off-by: Aaro Koskinen <aaro.koskinen@nsn.com>
Cc: stable@vger.kernel.org
Reviewed-by: Markos Chandras <markos.chandras@imgtec.com>
Patchwork: http://patchwork.linux-mips.org/patch/7437/
Signed-off-by: James Hogan <james.hogan@imgtec.com>
2014-08-19 18:24:42 +02:00
..
alchemy MIPS: Alchemy: Fix db1200 PSC clock enablement 2014-08-19 13:30:47 +02:00
ar7 MIPS: Restore init.h usage to arch/mips/ar7/time.c 2014-03-26 23:09:23 +01:00
ath79 usb: host: remove selects of USB_ARCH_HAS_?HCI 2014-02-18 12:36:38 -08:00
bcm47xx MIPS: BCM47XX: Fix reboot problem on BCM4705/BCM4785 2014-08-19 13:30:47 +02:00
bcm63xx MIPS: BCM63xx: Allow setting affinity for IPIC 2014-07-30 15:30:23 +02:00
boot MIPS: ZBOOT: implement stack protector in compressed boot phase 2014-08-02 00:06:46 +02:00
cavium-octeon MIPS: OCTEON: make get_system_type() thread-safe 2014-08-19 18:24:42 +02:00
cobalt MIPS: Cobalt: Move to 8250/16550 serial early printk driver 2013-10-29 21:24:38 +01:00
configs Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus 2014-08-07 08:47:00 -07:00
dec Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus 2014-06-09 18:10:34 -07:00
emma MIPS: Remove panic_timeout settings 2013-11-26 12:12:27 +01:00
fw MIPS: DEC/SNI: O32 wrapper stack switching fixes 2014-05-13 00:29:35 +02:00
include MIPS: Malta: EVA: Rename 'eva_entry' to 'platform_eva_init' 2014-08-19 18:24:41 +02:00
jazz Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus 2013-03-02 07:44:16 -08:00
jz4740 This is the bulk of GPIO changes for the v3.17 development 2014-08-08 18:00:35 -07:00
kernel MIPS: CPS: Initialize EVA before bringing up VPEs from secondary cores 2014-08-19 18:24:41 +02:00
kvm Patch queue for ppc - 2014-08-01 2014-08-05 09:58:11 +02:00
lantiq Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus 2014-06-09 18:10:34 -07:00
lasat MIPS: Lasat: Replace del_timer by del_timer_sync 2014-03-31 18:17:12 +02:00
lib MIPS: __delay ABI-dependent subtraction simplification 2014-05-30 21:01:08 +02:00
loongson MIPS: Loongson: Fix COP2 usage for preemptible kernel 2014-08-19 18:04:24 +02:00
loongson1 MIPS: Disable MIPS16/microMIPS crap for platforms not supporting these ASEs. 2014-05-23 15:12:37 +02:00
math-emu MIPS: math-emu: Fix instruction decoding. 2014-07-30 19:13:35 +02:00
mm MIPS: Remove race window in page fault handling 2014-08-19 13:31:09 +02:00
mti-malta MIPS: Malta: Improve system memory detection for '{e, }memsize' >= 2G 2014-08-19 13:30:47 +02:00
mti-sead3 Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus 2014-06-09 18:10:34 -07:00
net net: filter: split 'struct sk_filter' into socket and bpf parts 2014-08-02 15:03:58 -07:00
netlogic Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus 2014-06-09 18:10:34 -07:00
oprofile MIPS: Add support for the M5150 processor 2014-03-26 23:09:22 +01:00
paravirt mips: Update the email address of Geert Uytterhoeven 2014-06-02 16:34:41 +02:00
pci MIPS: Loongson: Rename CONFIG_LEMOTE_MACH3A to CONFIG_LOONGSON_MACH3X 2014-07-30 21:47:33 +02:00
pmcs-msp71xx MIPS: MSP71xx: remove unused plat_irq_dispatch() argument 2014-08-19 13:30:45 +02:00
pnx833x MIPS: PNX833x: Remove checks for CONFIG_I2C_PNX0105 2014-05-23 15:12:39 +02:00
power MIPS: Hibernate: Flush TLB entries in swsusp_arch_resume() 2014-03-31 10:16:53 +02:00
ralink MIPS: ralink: Use strlcpy to ensure string is always NUL-terminated. 2014-07-30 14:42:21 +02:00
rb532 Merge branch '3.16-fixes' into mips-for-linux-next 2014-08-02 00:07:03 +02:00
sgi-ip22 MIPS: IP22: Add missing put_device call 2014-07-30 13:27:51 +02:00
sgi-ip27 MIPS: SMP: Remove plat_smp_ops cpus_done method. 2014-05-27 11:06:42 +02:00
sgi-ip32 MIPS: Whitespace cleanup. 2013-02-01 10:00:22 +01:00
sibyte MIPS: SMP: Remove plat_smp_ops cpus_done method. 2014-05-27 11:06:42 +02:00
sni MIPS: Cleanup CP0 PRId and CP1 FPIR register access masks 2013-09-18 20:25:19 +02:00
txx9 Merge branch '3.16-fixes' into mips-for-linux-next 2014-08-02 00:07:03 +02:00
vr41xx MIPS: Idle: Consolidate all declarations in <asm/idle.h>. 2013-05-22 01:34:27 +02:00
Kbuild MIPS: net: Add BPF JIT 2014-05-30 16:10:20 +02:00
Kbuild.platforms MIPS: Enable build for new system 'paravirt' 2014-06-02 12:34:20 +02:00
Kconfig kexec: load and relocate purgatory at kernel load time 2014-08-08 15:57:32 -07:00
Kconfig.debug MIPS: MT: Remove SMTC support 2014-05-24 00:07:01 +02:00
Makefile MIPS: SB1: Check optional compilation flags one by one 2014-07-30 15:53:49 +02:00