kernel_optimize_test/arch/s390
Heiko Carstens 1896d256d3 s390/cmpxchg: fix sign extension bugs
For 1 and 2 byte operands for xchg and cmpxchg the old and new values
get or'ed into the larger 4 byte old value before the compare and swap
instruction gets executed. This is done without using the proper byte
mask before or'ing the values.
If the caller passed in negative old or new values these got sign
extended by the caller. Which in turn means that either the old value
never matches, or, even worse, unrelated bytes would be changed in memory.

Luckily there don't seem to be any callers around yet, since that would
have resulted in the specification exception fixed in an earlies patch.

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
2012-05-30 09:07:58 +02:00
..
appldata
boot s390: add various .gitignore files. 2012-05-16 14:42:41 +02:00
crypto Disintegrate asm/system.h for S390 2012-03-28 18:30:02 +01:00
hypfs switch open-coded instances of d_make_root() to new helper 2012-03-20 21:29:35 -04:00
include/asm s390/cmpxchg: fix sign extension bugs 2012-05-30 09:07:58 +02:00
kernel s390/cpu: remove cpu "capabilities" sysfs attribute 2012-05-30 09:07:30 +02:00
kvm Disintegrate and delete asm/system.h 2012-03-28 15:58:21 -07:00
lib s390/headers: replace __s390x__ with CONFIG_64BIT where possible 2012-05-24 10:10:10 +02:00
math-emu
mm s390/kernel: Introduce memcpy_absolute() function 2012-05-30 09:04:49 +02:00
oprofile s390/irq: split irq stats for cpu-measurement alert facilities 2012-05-23 17:06:52 +02:00
defconfig s390/crypto des: add missing select statement 2012-05-16 14:42:36 +02:00
Kbuild
Kconfig Merge branch 'smp-hotplug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2012-05-21 19:43:57 -07:00
Kconfig.debug
Makefile s390: Use generic init_task 2012-05-05 13:00:25 +02:00