linux/arch/s390
Heiko Carstens b514ad872a s390/mm: Fix __ptep_rdp() inline assembly
[ Upstream commit 31475b8811 ]

When a zero ASCE is passed to the __ptep_rdp() inline assembly, the
generated instruction should have the R3 field of the instruction set to
zero. However the inline assembly is written incorrectly: for such cases a
zero is loaded into a register allocated by the compiler and this register
is then used by the instruction.

This means that selected TLB entries may not be flushed since the specified
ASCE does not match the one which was used when the selected TLB entries
were created.

Fix this by removing the asce and opt parameters of __ptep_rdp(), since
all callers always pass zero, and use a hard-coded register zero for
the R3 field.

Fixes: 0807b85652 ("s390/mm: add support for RDP (Reset DAT-Protection)")
Cc: stable@vger.kernel.org
Reviewed-by: Gerald Schaefer <gerald.schaefer@linux.ibm.com>
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
History 2025-12-01 11:43:37 +01:00
..
appldata sysctl: treewide: constify the ctl_table argument of proc_handlers 2024-07-24 20:59:29 +02:00
boot s390/mm: Do not map lowcore with identity mapping 2025-08-28 16:31:15 +02:00
configs s390: Update defconfigs 2024-10-16 11:32:32 +02:00
crypto crypto: s390/sha - Fix uninitialized variable in SHA-1 and SHA-2 2025-07-17 18:37:01 +02:00
hypfs s390/hypfs: Enable limited access during lockdown 2025-08-28 16:31:16 +02:00
include s390/mm: Fix __ptep_rdp() inline assembly 2025-12-01 11:43:37 +01:00
kernel arch: Add the macro COMPILE_OFFSETS to all the asm-offsets.c 2025-11-02 22:15:22 +09:00
kvm KVM: s390: rename PROT_NONE to PROT_TYPE_DUMMY 2025-06-27 11:11:23 +01:00
lib s390/alternatives: Rework to allow for callbacks 2024-07-23 16:02:31 +02:00
mm s390/mm: Fix __ptep_rdp() inline assembly 2025-12-01 11:43:37 +01:00
net s390/bpf: Write back tail call counter for BPF_TRAMP_F_CALL_ORIG 2025-10-19 16:34:05 +02:00
pci s390/pci: Use pci_uevent_ers() in PCI recovery 2025-11-13 15:34:12 -05:00
purgatory s390: Add '-std=gnu11' to decompressor and purgatory CFLAGS 2025-02-08 09:58:19 +01:00
tools s390 updates for 6.12 merge window 2024-09-21 09:02:54 -07:00
Kbuild - An extensive rework of kexec and crash Kconfig from Eric DeVolder 2023-08-29 14:53:51 -07:00
Kconfig s390: Disable ARCH_WANT_OPTIMIZE_HUGETLB_VMEMMAP 2025-11-13 15:34:02 -05:00
Kconfig.debug s390/Kconfig.debug: fix indentation 2022-06-01 12:03:15 +02:00
Makefile s390: Add -Wno-pointer-sign to KBUILD_CFLAGS_DECOMPRESSOR 2025-10-19 16:33:57 +02:00
Makefile.postlink s390/build: Avoid relocation information in final vmlinux 2024-08-27 20:16:48 +02:00