]> git.baikalelectronics.ru Git - kernel.git/commit
[PATCH] s390: spinlock corner case
authorHeiko Carstens <heiko.carstens@de.ibm.com>
Sat, 3 Sep 2005 22:58:05 +0000 (15:58 -0700)
committerLinus Torvalds <torvalds@evo.osdl.org>
Mon, 5 Sep 2005 07:06:29 +0000 (00:06 -0700)
commit878dc950d3af628e37c513732f60f8ac94c75795
tree7585e2271d2fc3393aa2368cd7dad85d7552cd97
parent43d9e38cf9c3d62a8258a9ba7c9cfdbb1ee0aabe
[PATCH] s390: spinlock corner case

On s390 the lock value used for spinlocks consists of the lower 32 bits of the
PSW that holds the lock.  If this address happens to be on a four gigabyte
boundary the lock is left unlocked.  This allows other cpus to grab the same
lock and enter a lock protected code path concurrently.  In theory this can
happen if the vmalloc area for the code of a module crosses a 4 GB boundary.

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
include/asm-s390/spinlock.h