linux/arch/mips
James Hogan 50d93d3815 MIPS: smp.c: Fix uninitialised temp_foreign_map
[ Upstream commit d825c06bfe ]

When calculate_cpu_foreign_map() recalculates the cpu_foreign_map
cpumask it uses the local variable temp_foreign_map without initialising
it to zero. Since the calculation only ever sets bits in this cpumask
any existing bits at that memory location will remain set and find their
way into cpu_foreign_map too. This could potentially lead to cache
operations suboptimally doing smp calls to multiple VPEs in the same
core, even though the VPEs share primary caches.

Therefore initialise temp_foreign_map using cpumask_clear() before use.

Fixes: cccf34e941 ("MIPS: c-r4k: Fix cache flushing for MT cores")
Signed-off-by: James Hogan <james.hogan@imgtec.com>
Cc: Paul Burton <paul.burton@imgtec.com>
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/12759/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Signed-off-by: Sasha Levin <sasha.levin@oracle.com>
History 2016-04-13 17:14:28 -04:00
..
alchemy Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus 2015-02-21 19:41:38 -08:00
ar7 MIPS: AR7: Replace mac address parsing 2015-04-02 13:54:22 +02:00
ath25 MIPS: ath25: add Wireless device support 2014-11-24 07:45:29 +01:00
ath79 MIPS: Export get_c0_perfcount_int() 2015-08-16 20:52:07 -07:00
bcm47xx Merge branch '4.0-fixes' into mips-for-linux-next 2015-04-13 16:03:32 +02:00
bcm63xx This is the final removal (after several years!) of the obsolete cpus_* 2015-04-20 10:19:03 -07:00
bmips MIPS: BMIPS: restrict DTB selection to BMIPS_GENERIC 2015-04-01 17:22:04 +02:00
boot lib/decompressors: use real out buf size for gunzip with kernel 2015-09-29 19:26:19 +02:00
cavium-octeon This is the final removal (after several years!) of the obsolete cpus_* 2015-04-20 10:19:03 -07:00
cobalt MIPS: Cobalt: Do not build MTD platform device registration code as module. 2015-06-10 10:39:30 +02:00
configs MIPS: Fuloong 2E: Replace CONFIG_USB_ISP1760_HCD by CONFIG_USB_ISP1760 2015-05-26 16:46:53 +02:00
dec MIPS: DEC: Do not set up the FPU interrupt if no FPU 2015-04-08 01:10:46 +02:00
emma MIPS: Remove panic_timeout settings 2013-11-26 12:12:27 +01:00
fw MIPS: ARC: Use __noreturn / unreachable in ARC termination functions. 2015-01-13 16:04:27 +01:00
include MIPS: Fix buffer overflow in syscall_get_arguments() 2016-02-28 00:04:24 -05: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 MIPS: jz4740: Implement read_sched_clock 2015-04-01 17:21:31 +02:00
kernel MIPS: smp.c: Fix uninitialised temp_foreign_map 2016-04-13 17:14:28 -04:00
kvm MIPS: kvm: Fix ioctl error handling. 2016-03-09 13:15:18 -05:00
lantiq MIPS: lantiq: add clk_round_rate() 2015-12-09 14:03:15 -05:00
lasat Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus 2015-04-17 15:50:54 -04:00
lib MIPS: strnlen_user.S: Fix a CPU_DADDI_WORKAROUNDS regression 2015-05-29 20:23:58 +02:00
loongson MIPS: Fix console output for Fulong2e system 2015-10-22 14:43:27 -07:00
loongson1 MIPS: Loongson1B: Add a clockevent/clocksource using PWM Timer 2014-11-24 07:45:09 +01:00
math-emu MIPS: math-emu: Emulate missing BC1{EQ,NE}Z instructions 2015-09-29 19:25:57 +02:00
mm MIPS: Fix some missing CONFIG_CPU_MIPSR6 #ifdefs 2016-02-15 15:45:26 -05:00
mti-malta MIPS: Export get_c0_perfcount_int() 2015-08-16 20:52:07 -07:00
mti-sead3 MIPS: Export get_c0_perfcount_int() 2015-08-16 20:52:07 -07:00
net net: filter: make JITs zero A for SKF_AD_ALU_XOR_X 2016-01-31 11:23:36 -08:00
netlogic Merge branch '4.0-fixes' into mips-for-linux-next 2015-04-13 16:03:32 +02:00
oprofile MIPS: Add R16000 detection 2015-04-01 17:22:13 +02:00
paravirt mips: fix up obsolete cpu function usage. 2015-03-05 15:25:06 +10:30
pci Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus 2015-04-17 15:50:54 -04:00
pistachio MIPS: Export get_c0_perfcount_int() 2015-08-16 20:52:07 -07:00
pmcs-msp71xx kconfig: use bool instead of boolean for type definition attributes 2015-01-07 13:08:04 +01:00
pnx833x MIPS: PNX833x: Remove checks for CONFIG_I2C_PNX0105 2014-05-23 15:12:39 +02:00
power MIPS: Hibernate: flush TLB entries earlier 2015-04-10 15:41:52 +02:00
ralink MIPS: Export get_c0_perfcount_int() 2015-08-16 20:52:07 -07:00
rb532 MIPS: Replace use of phys_t with phys_addr_t. 2014-11-24 22:47:31 +01:00
sgi-ip22 MIPS: ip22-gio: Remove legacy suspend/resume support 2015-02-20 13:30:55 +01:00
sgi-ip27 This is the final removal (after several years!) of the obsolete cpus_* 2015-04-20 10:19:03 -07:00
sgi-ip32 MIPS: IP32: Fix build errors in reset code in DS1685 platform hook. 2015-05-13 00:01:41 +02:00
sibyte MIPS: Replace use of phys_t with phys_addr_t. 2014-11-24 22:47:31 +01:00
sni MIPS: Cleanup CP0 PRId and CP1 FPIR register access masks 2013-09-18 20:25:19 +02:00
txx9 Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08: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: bcm3384: Rename "bcm3384" target to "bmips" 2015-04-01 17:21:35 +02:00
Kconfig MIPS: Fix build error when SMP is used without GIC 2016-03-22 11:10:36 -04:00
Kconfig.debug MIPS: kernel: elf: Improve the overall ABI and FPU mode checks 2015-02-17 15:37:39 +00:00
Makefile MIPS: Fix wrong CHECKFLAGS (sparse builds) with GCC 5.1 2015-05-12 23:22:39 +02:00