kernel_optimize_test/arch/parisc/kernel
John David Anglin 374b3bf8e8 parisc: Fix double-word compare and exchange in LWS code on 32-bit kernels
As discussed on the debian-hppa list, double-wordcompare and exchange
operations fail on 32-bit kernels.  Looking at the code, I realized that
the ",ma" completer does the wrong thing in the  "ldw,ma  4(%r26), %r29"
instruction.  This increments %r26 and causes the following store to
write to the wrong location.

Note by Helge Deller:
The patch applies cleanly to stable kernel series if this upstream
commit is merged in advance:
f4125cfdb3 ("parisc: Avoid trashing sr2 and sr3 in LWS code").

Signed-off-by: John David Anglin <dave.anglin@bell.net>
Tested-by: Christoph Biedl <debian.axhn@manchmal.in-ulm.de>
Fixes: 8920649120 ("parisc: Implement new LWS CAS supporting 64 bit operations.")
Cc: stable@vger.kernel.org # 3.13+
Signed-off-by: Helge Deller <deller@gmx.de>
2017-10-19 08:48:44 +02:00
..
.gitignore
asm-offsets.c parisc: Drop per_cpu uaccess related exception_data struct 2017-05-10 17:46:13 +02:00
audit.c
binfmt_elf32.c fs/binfmt: Convert obsolete cputime type to nsecs 2017-02-01 09:13:51 +01:00
cache.c parisc: Handle vma's whose context is not current in flush_cache_range 2017-07-31 08:22:33 +02:00
compat_audit.c
drivers.c parisc: parisc_bus_type: use dev_groups and not dev_attrs for bus_type 2017-06-09 11:00:45 +02:00
entry.S scripts/spelling.txt: add regsiter -> register spelling mistake 2017-05-08 17:15:13 -07:00
firmware.c parisc: Add wrapper for pdc_instr() firmware function 2017-09-22 19:46:44 +02:00
ftrace.c
hardware.c
head.S
hpmc.S parisc: Don't hardcode PSW values in hpmc code 2017-06-09 11:34:56 +02:00
inventory.c parisc: Add Page Deallocation Table (PDT) support 2017-05-12 09:14:15 +02:00
irq.c parisc: Increase thread and stack size to 32kb 2017-07-31 08:41:26 +02:00
Makefile parisc: Add Page Deallocation Table (PDT) support 2017-05-12 09:14:15 +02:00
module.c mm, vmalloc: use __GFP_HIGHMEM implicitly 2017-05-08 17:15:13 -07:00
pa7300lc.c sched/headers: Prepare for new header dependencies before moving code to <linux/sched/debug.h> 2017-03-02 08:42:34 +01:00
pacache.S
parisc_ksyms.c parisc: Clean up fixup routines for get_user()/put_user() 2017-03-29 21:50:36 +02:00
pci-dma.c parisc: Static initialization of pcxl_res_lock spinlock 2017-08-22 16:34:34 +02:00
pci.c parisc: Use generic pci_mmap_resource_range() 2017-04-20 08:47:47 -05:00
pdc_chassis.c
pdc_cons.c
pdt.c parisc: Check if initrd was loaded into broken RAM 2017-09-22 19:47:00 +02:00
perf_asm.S
perf_images.h
perf.c parisc: Static initialization of spinlocks in perf and unwind code 2017-08-22 16:34:33 +02:00
process.c parisc, watchdog/core: Use lockup_detector_stop() 2017-09-14 11:41:03 +02:00
processor.c parisc: Move init_per_cpu() into init section 2017-09-22 19:47:08 +02:00
ptrace.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
real2.S parisc: Make existing core files reuseable for bootloader 2017-08-22 16:34:35 +02:00
setup.c parisc: Move init_per_cpu() into init section 2017-09-22 19:47:08 +02:00
signal.c Merge branch 'parisc-4.11-1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux 2017-03-03 16:20:06 -08:00
signal32.c signal: Remove kernel interal si_code magic 2017-07-24 14:30:28 -05:00
signal32.h
smp.c parisc: Move init_per_cpu() into init section 2017-09-22 19:47:08 +02:00
stacktrace.c
sys_parisc.c mm: larger stack guard gap, between vmas 2017-06-19 21:50:20 +08:00
sys_parisc32.c
syscall_table.S parisc: use compat_sys_keyctl() 2017-07-02 22:10:47 +02:00
syscall.S parisc: Fix double-word compare and exchange in LWS code on 32-bit kernels 2017-10-19 08:48:44 +02:00
time.c parisc: Enhance detection of synchronous cr16 clocksources 2017-05-10 17:46:14 +02:00
topology.c
traps.c parisc: Add PDCE_CHECK instruction to HPMC handler 2017-09-22 19:46:52 +02:00
unaligned.c sched/headers: Prepare for new header dependencies before moving code to <linux/sched/debug.h> 2017-03-02 08:42:34 +01:00
unwind.c parisc: Stop unwinding at start of stack 2017-09-22 19:46:16 +02:00
vmlinux.lds.S parisc: Merge millicode routines via linker script 2017-07-23 21:00:28 +02:00