android_kernel_google_msm/arch/mips
Aaro Koskinen 33df36f48f MIPS: OCTEON: make get_system_type() thread-safe
commit 608308682a upstream.

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>
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>
[lizf: Backport to 3.x: adjust context]
Signed-off-by: Zefan Li <lizefan@huawei.com>
2014-09-25 11:49:10 +08:00
..
alchemy MIPS: Alchemy: Increase minimum timeout for 32kHz timer. 2012-02-20 18:33:18 +01:00
ar7 Merge branches 'next/ar7', 'next/ath79', 'next/bcm63xx', 'next/bmips', 'next/cavium', 'next/generic', 'next/kprobes', 'next/lantiq', 'next/perf' and 'next/raza' into mips-for-linux-next 2012-01-11 15:42:31 +01:00
ath79 MIPS: ath79: Fix ar933x watchdog clock 2013-09-26 17:15:50 -07:00
bcm47xx MIPS: BCM47XX: provide sprom to bcma bus 2012-03-05 15:20:51 -05:00
bcm63xx mips: Fix typo in bcm63xx/setup.c 2012-02-05 17:14:47 +01:00
boot MIPS: Alchemy: Basic support for the DB1300 board. 2011-12-07 22:02:06 +00:00
cavium-octeon MIPS: OCTEON: make get_system_type() thread-safe 2014-09-25 11:49:10 +08:00
cobalt MIPS: Mark cascade and low level interrupts IRQF_NO_THREAD 2011-09-21 17:52:15 +02:00
configs locking/kconfig: Simplify INLINE_SPIN_UNLOCK usage 2012-03-23 13:18:57 +01:00
dec Disintegrate asm/system.h for MIPS 2012-03-28 18:30:02 +01:00
emma Disintegrate asm/system.h for MIPS 2012-03-28 18:30:02 +01:00
fw Disintegrate and delete asm/system.h 2012-03-28 15:58:21 -07:00
include/asm compiler/gcc4: Add quirk for 'asm goto' miscompilation bug 2014-04-14 06:44:16 -07:00
jazz Merge branch 'next/generic' into mips-for-linux-next 2012-01-11 15:41:47 +01:00
jz4740 ASoC: jz4740: Convert qi_lb60 to use snd_soc_register_card() 2012-01-20 13:58:29 +00:00
kernel MIPS: MSC: Prevent out-of-bounds writes to MIPS SC ioremap'd region 2014-07-06 18:49:19 -07:00
lantiq Merge branch 'next/generic' into mips-for-linux-next 2012-01-11 15:41:47 +01:00
lasat Disintegrate asm/system.h for MIPS 2012-03-28 18:30:02 +01:00
lib mips: use the the PCI controller's io_map_base 2012-01-31 23:20:30 +02:00
loongson MIPS: irq: Remove IRQF_DISABLED 2011-12-07 22:03:45 +00:00
math-emu Disintegrate asm/system.h for MIPS 2012-03-28 18:30:02 +01:00
mipssim Disintegrate asm/system.h for MIPS 2012-03-28 18:30:02 +01:00
mm MIPS: DMA: For BMIPS5000 cores flush region just like non-coherent R10000 2013-12-20 07:34:19 -08:00
mti-malta Disintegrate asm/system.h for MIPS 2012-03-28 18:30:02 +01:00
netlogic remove references to cpu_*_map in arch/ 2012-03-29 15:38:30 +10:30
oprofile MIPS: oprofile: Add callgraph support 2011-06-15 14:35:34 +02:00
pci Merge branch 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci 2012-03-23 14:02:12 -07:00
pmc-sierra documentation: remove references to cpu_*_map. 2012-03-29 15:38:31 +10:30
pnx833x Disintegrate asm/system.h for MIPS 2012-03-28 18:30:02 +01:00
pnx8550 MIPS: irq: Remove IRQF_DISABLED 2011-12-07 22:03:45 +00:00
power MIPS: Hibernate: Flush TLB entries in swsusp_arch_resume() 2014-05-13 14:11:29 +02:00
powertv Disintegrate asm/system.h for MIPS 2012-03-28 18:30:02 +01:00
rb532 Disintegrate asm/system.h for MIPS 2012-03-28 18:30:02 +01:00
sgi-ip22 Disintegrate asm/system.h for MIPS 2012-03-28 18:30:02 +01:00
sgi-ip27 remove references to cpu_*_map in arch/ 2012-03-29 15:38:30 +10:30
sgi-ip32 Disintegrate asm/system.h for MIPS 2012-03-28 18:30:02 +01:00
sibyte documentation: remove references to cpu_*_map. 2012-03-29 15:38:31 +10:30
sni Disintegrate asm/system.h for MIPS 2012-03-28 18:30:02 +01:00
txx9 MIPS: txx9 7segled fix struct device has no member 2012-02-20 18:33:18 +01:00
vr41xx Disintegrate asm/system.h for MIPS 2012-03-28 18:30:02 +01:00
wrppmc
Kbuild
Kbuild.platforms MIPS: XLR, XLS: Move makefile bits to were they belong. 2011-07-20 23:12:11 +01:00
Kconfig MIPS: Expose missing pci_io{map,unmap} declarations 2013-08-20 08:26:27 -07:00
Kconfig.debug
Makefile kbuild: Fix gcc -x syntax 2012-10-13 05:38:37 +09:00