linux/arch/mips
Leonid Yegoshin 070e76cb3f MIPS: tlbex: Fix potential HTW race on TLBL/M/S handlers
There is a potential race when probing the TLB in TLBL/M/S exception
handlers for a matching entry. Between the time we hit a TLBL/S/M
exception and the time we get to execute the TLBP instruction, the
HTW may have replaced the TLB entry we are interested in hence the TLB
probe may fail. However, in the existing handlers, we never checked the
status of the TLBP (ie check the result in the C0/Index register). We
fix this by adding such a check when the core implements the HTW. If
we couldn't find a matching entry, we return back and try again.

Signed-off-by: Leonid Yegoshin <Leonid.Yegoshin@imgtec.com>
Signed-off-by: Markos Chandras <markos.chandras@imgtec.com>
Reviewed-by: James Hogan <james.hogan@imgtec.com>
Cc: <stable@vger.kernel.org> # v3.17+
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/8599/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2014-11-27 17:21:56 +01:00
..
alchemy MIPS: Alchemy: DB1300: Add touch penirq support 2014-09-22 13:35:47 +02:00
ar7 MIPS: Restore init.h usage to arch/mips/ar7/time.c 2014-03-26 23:09:23 +01:00
ath79 MIPS: ath79: Fix compilation error when CONFIG_PCI is disabled 2014-10-22 23:16:59 +02:00
bcm47xx Merge tag 'master-2014-09-16' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next 2014-09-26 15:39:24 -04:00
bcm63xx MIPS: BCM63xx: delete double assignment 2014-08-26 02:18:58 +02:00
boot MIPS: ralink: Move device-trees to arch/mips/boot/dts/ 2014-09-22 13:35:50 +02:00
cavium-octeon MIPS: Octeon: Make Octeon GPIO IRQ chip CPU hotplug-aware 2014-10-27 01:43:57 +01: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-10-18 14:24:36 -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: cpu-probe: Set the FTLB probability bit on supported cores 2014-11-24 07:44:05 +01:00
jazz
jz4740 This is the bulk of GPIO changes for the v3.17 development 2014-08-08 18:00:35 -07:00
kernel MIPS: Fix address type used for early memory detection. 2014-11-24 07:44:07 +01:00
kvm KVM: remove garbage arg to *hardware_{en,dis}able 2014-08-29 16:35:55 +02:00
lantiq Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus 2014-10-18 14:24:36 -07:00
lasat MIPS: Lasat: Add missing CONFIG_PROC_FS dependency to PICVUE_PROC 2014-10-21 17:35:44 +02:00
lib MIPS: lib: memcpy: Restore NOP on delay slot before returning to caller 2014-11-19 18:22:08 +01:00
loongson MIPS: Loongson: Make platform serial setup always built-in. 2014-11-24 07:44:06 +01:00
loongson1 MIPS: Disable MIPS16/microMIPS crap for platforms not supporting these ASEs. 2014-05-23 15:12:37 +02:00
math-emu MIPS: Fix build with binutils 2.24.51+ 2014-11-07 15:07:36 +01:00
mm MIPS: tlbex: Fix potential HTW race on TLBL/M/S handlers 2014-11-27 17:21:56 +01:00
mti-malta MIPS: Malta: Do not build the malta-amon.c file if CMP is not enabled 2014-10-23 20:05:55 +02:00
mti-sead3 MIPS: SEAD3: Fix LED device registration. 2014-11-24 07:44:03 +01:00
net Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus 2014-10-18 14:24:36 -07:00
netlogic MIPS: Netlogic: handle modular AHCI builds 2014-11-24 07:44:06 +01:00
oprofile MIPS: oprofile: Fix backtrace on 64-bit kernel 2014-11-19 18:22:07 +01:00
paravirt mips: Update the email address of Geert Uytterhoeven 2014-06-02 16:34:41 +02:00
pci MIPS/Xlp: Remove the dead function destroy_irq() to fix build error 2014-10-27 01:43:57 +01:00
pmcs-msp71xx MIPS: MSP71xx: Fix build error 2014-10-24 02:37:18 +02:00
pnx833x MIPS: PNX833x: Remove checks for CONFIG_I2C_PNX0105 2014-05-23 15:12:39 +02:00
power nosave: consolidate __nosave_{begin,end} in <asm/sections.h> 2014-10-09 22:26:04 -04:00
ralink MIPS: ralink: remove deprecated IRQF_DISABLED 2014-09-29 19:46:32 +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: IP27: Fix __node_distances undefined error 2014-11-19 18:22:07 +01:00
sgi-ip32
sibyte MIPS: Sibyte: Include the swarm subdir to the sb1250 LittleSur builds 2014-10-23 13:52:49 +02:00
sni MIPS: Cleanup CP0 PRId and CP1 FPIR register access masks 2013-09-18 20:25:19 +02:00
txx9 driver:gpio remove all usage of gpio_remove retval in driver 2014-09-18 11:03:10 -07:00
vr41xx
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 MIPS: Kconfig: Don't allow both microMIPS and SmartMIPS to be selected. 2014-11-24 07:44:07 +01:00
Kconfig.debug MIPS: MT: Remove SMTC support 2014-05-24 00:07:01 +02:00
Makefile MIPS: Fix build with binutils 2.24.51+ 2014-11-07 15:07:36 +01:00