Merge tag 's390-6.2-2' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux
Pull s390 fixes from Heiko Carstens: - Add various missing READ_ONCE() to cmpxchg() loops prevent the compiler from potentially generating incorrect code. This includes a rather large change to the s390 specific hardware sampling code and its current use of cmpxchg_double(). Do the fix now to get it out of the way of Peter Zijlstra's cmpxchg128() work, and have something that can be backported. The added new code includes a private 128 bit cmpxchg variant which will be removed again after Peter's rework is available. Also note that this 128 bit cmpxchg variant is used to implement 128 bit READ_ONCE(), while strictly speaking it wouldn't be necessary, and _READ_ONCE() should also be sufficient; even though it isn't obvious for all converted locations that this is the case. Therefore use this implementation for for the sake of clarity and consistency for now. - Fix ipl report address handling to avoid kdump failures/hangs. - Fix misuse of #(el)if in kernel decompressor. - Define RUNTIME_DISCARD_EXIT to fix link error with GNU ld < 2.36, caused by the recently changed discard behaviour. - Make sure _edata and _end symbols are always page aligned. - The current header guard DEBUG_H in one of the s390 specific header files is too generic and conflicts with the ath9k wireless driver. Add an _ASM_S390_ prefix to the guard to make it unique. - Update defconfigs. * tag 's390-6.2-2' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux: s390: update defconfigs KVM: s390: interrupt: use READ_ONCE() before cmpxchg() s390/percpu: add READ_ONCE() to arch_this_cpu_to_op_simple() s390/cpum_sf: add READ_ONCE() semantics to compare and swap loops s390/kexec: fix ipl report address for kdump s390: fix -Wundef warning for CONFIG_KERNEL_ZSTD s390: define RUNTIME_DISCARD_EXIT to fix link error with GNU ld < 2.36 s390: expicitly align _edata and _end symbols on page boundary s390/debug: add _ASM_S390_ prefix to header guard
Showing
- arch/s390/boot/decompressor.c 2 additions, 2 deletionsarch/s390/boot/decompressor.c
- arch/s390/configs/debug_defconfig 4 additions, 3 deletionsarch/s390/configs/debug_defconfig
- arch/s390/configs/defconfig 4 additions, 2 deletionsarch/s390/configs/defconfig
- arch/s390/configs/zfcpdump_defconfig 1 addition, 1 deletionarch/s390/configs/zfcpdump_defconfig
- arch/s390/include/asm/cpu_mf.h 15 additions, 16 deletionsarch/s390/include/asm/cpu_mf.h
- arch/s390/include/asm/debug.h 3 additions, 3 deletionsarch/s390/include/asm/debug.h
- arch/s390/include/asm/percpu.h 1 addition, 1 deletionarch/s390/include/asm/percpu.h
- arch/s390/kernel/machine_kexec_file.c 3 additions, 2 deletionsarch/s390/kernel/machine_kexec_file.c
- arch/s390/kernel/perf_cpum_sf.c 62 additions, 39 deletionsarch/s390/kernel/perf_cpum_sf.c
- arch/s390/kernel/vmlinux.lds.S 4 additions, 0 deletionsarch/s390/kernel/vmlinux.lds.S
- arch/s390/kvm/interrupt.c 8 additions, 4 deletionsarch/s390/kvm/interrupt.c
Loading
Please register or sign in to comment