diff options
| author | Heiko Carstens <hca@linux.ibm.com> | 2025-11-13 13:21:47 +0100 |
|---|---|---|
| committer | Heiko Carstens <hca@linux.ibm.com> | 2025-11-14 15:58:20 +0100 |
| commit | 31475b88110c4725b4f9a79c3a0d9bbf97e69e1c (patch) | |
| tree | e85581813b3d2fc34cebc6c3bd007d0dbf82825e /arch/arm64/kernel/pi/patch-scs.c | |
| parent | 64e2f60f355e556337fcffe80b9bcff1b22c9c42 (diff) | |
s390/mm: Fix __ptep_rdp() inline assembly
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: 0807b856521f ("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>
Diffstat (limited to 'arch/arm64/kernel/pi/patch-scs.c')
0 files changed, 0 insertions, 0 deletions
