]> git.baikalelectronics.ru Git - kernel.git/commit
powerpc/e6500: hw tablewalk: fix recursive tlb lock on cpu 0
authorScott Wood <scottwood@freescale.com>
Thu, 22 May 2014 21:10:35 +0000 (16:10 -0500)
committerScott Wood <scottwood@freescale.com>
Fri, 20 Jun 2014 23:48:30 +0000 (18:48 -0500)
commit5e02f0840f20cc6db186df7dad01b84865d5b90c
treefef4fb40f49ff85d449410711a6c434a3d35b236
parentf55217ed9aa8607dd8cea3c85a9b902ad45cfa3c
powerpc/e6500: hw tablewalk: fix recursive tlb lock on cpu 0

Commit 69c3ac9cd3a28fcd73c2446ac2768299b6dda1e9 "TLB lock recursive"
introduced a bug whereby cpu 0 uses the same value for "lock held" as
is used to indicate that the lock is free.  This means that cpu 1 can
acquire the lock whenever it wants, regardless of whether cpu 0 has it
locked, which in turn means we can get duplicate TLB entries.

Add one to the CPU value to ensure we do not use zero as a "lock held"
value.

Signed-off-by: Scott Wood <scottwood@freescale.com>
Reported-by: Ed Swarthout <ed.swarthout@freescale.com>
arch/powerpc/mm/tlb_low_64e.S