android_kernel_motorola_sm6375/arch/s390
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Heiko Carstens cc2f923e92 s390/pci: Fix __pcilg_mio_inuser() inline assembly
commit c4abe6234246c75cdc43326415d9cff88b7cf06c upstream.

Use "a" constraint for the shift operand of the __pcilg_mio_inuser() inline
assembly. The used "d" constraint allows the compiler to use any general
purpose register for the shift operand, including register zero.

If register zero is used this my result in incorrect code generation:

 8f6:   a7 0a ff f8             ahi     %r0,-8
 8fa:   eb 32 00 00 00 0c       srlg    %r3,%r2,0  <----

If register zero is selected to contain the shift value, the srlg
instruction ignores the contents of the register and always shifts zero
bits. Therefore use the "a" constraint which does not permit to select
register zero.

Fixes: f058599e22d5 ("s390/pci: Fix s390_mmio_read/write with MIO")
Cc: stable@vger.kernel.org
Reported-by: Niklas Schnelle <schnelle@linux.ibm.com>
Reviewed-by: Niklas Schnelle <schnelle@linux.ibm.com>
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
Signed-off-by: Niklas Schnelle <schnelle@linux.ibm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-06-27 11:02:58 +01:00
..
appldata
boot s390/ipl: add missing intersection check to ipl_report handling 2023-03-22 13:28:09 +01:00
configs
crypto
hypfs
include s390/futex: Fix FUTEX_OP_ANDN implementation 2025-03-13 12:43:06 +01:00
kernel s390/cpum_sf: Handle CPU hotplug remove during sampling 2024-12-14 19:44:49 +01:00
kvm KVM: s390: Don't use %pK through tracepoints 2025-05-02 07:39:29 +02:00
lib s390/uaccess: add missing earlyclobber annotations to __clear_user() 2023-04-05 11:16:46 +02:00
mm s390/mm: Add cond_resched() to cmm_alloc/free_pages() 2024-11-08 16:20:44 +01:00
net
numa
oprofile
pci s390/pci: Fix __pcilg_mio_inuser() inline assembly 2025-06-27 11:02:58 +01:00
purgatory
scripts
tools
Kbuild
Kconfig
Kconfig.debug
Makefile