android_kernel_samsung_univ.../arch
Will Deacon 554b0ee1e8 arm64: spinlocks: implement smp_mb__before_spinlock() as smp_mb()
commit 872c63fbf9e153146b07f0cece4da0d70b283eeb upstream.

smp_mb__before_spinlock() is intended to upgrade a spin_lock() operation
to a full barrier, such that prior stores are ordered with respect to
loads and stores occuring inside the critical section.

Unfortunately, the core code defines the barrier as smp_wmb(), which
is insufficient to provide the required ordering guarantees when used in
conjunction with our load-acquire-based spinlock implementation.

This patch overrides the arm64 definition of smp_mb__before_spinlock()
to map to a full smp_mb().

Cc: Peter Zijlstra <peterz@infradead.org>
Reported-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2016-09-24 10:07:41 +02:00
..
alpha
arc ARC: mm: fix build breakage with STRICT_MM_TYPECHECKS 2016-09-24 10:07:37 +02:00
arm ARM: dts: STiH407-family: Provide interconnect clock for consumption in ST SDHCI 2016-09-24 10:07:40 +02:00
arm64 arm64: spinlocks: implement smp_mb__before_spinlock() as smp_mb() 2016-09-24 10:07:41 +02:00
avr32
blackfin
c6x
cris
frv
h8300
hexagon
ia64
m32r
m68k
metag metag: Fix atomic_*_return inline asm constraints 2016-09-15 08:27:54 +02:00
microblaze
mips MIPS: KVM: Check for pfn noslot case 2016-09-24 10:07:35 +02:00
mn10300
nios2
openrisc
parisc
powerpc powerpc/mm: Don't alias user region to other regions below PAGE_OFFSET 2016-09-24 10:07:35 +02:00
s390 s390/crypto: provide correct file mode at device register. 2016-09-15 08:27:46 +02:00
score
sh
sparc
tile
um
unicore32
x86 x86/AMD: Apply erratum 665 on machines without a BIOS fix 2016-09-24 10:07:37 +02:00
xtensa
.gitignore
Kconfig