[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)
commit9513e5e3f5a6b429da8a9fd4330f71f1e547c8e0
tree7585e2271d2fc3393aa2368cd7dad85d7552cd97
parentc563077e526d130b8c9aab4e75116551eb5fdc2d
[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