From 061a5e4ac36dac35bb4dfd6a6054c5657b953881 Mon Sep 17 00:00:00 2001 From: Sven Schnelle Date: Wed, 8 Jan 2025 15:27:06 +0100 Subject: [PATCH] s390/ebcdic: Fix length decrement in codepage_convert() The inline assembly uses the ahi instruction to decrement and test whether more than 256 bytes are left for conversion. But the nr variable passed is of type unsigned long. Therefore use aghi. Signed-off-by: Sven Schnelle Reported-by: Jens Remus Reviewed-by: Heiko Carstens Signed-off-by: Alexander Gordeev --- arch/s390/include/asm/ebcdic.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/s390/include/asm/ebcdic.h b/arch/s390/include/asm/ebcdic.h index 7fdb6b92985a..7164cb658435 100644 --- a/arch/s390/include/asm/ebcdic.h +++ b/arch/s390/include/asm/ebcdic.h @@ -29,7 +29,7 @@ codepage_convert(const __u8 *codepage, volatile char *addr, unsigned long nr) "0: tr 0(1,%0),0(%2)\n" "1: tr 0(256,%0),0(%2)\n" " la %0,256(%0)\n" - "2: ahi %1,-256\n" + "2: aghi %1,-256\n" " jnm 1b\n" " exrl %1,0b" : "+&a" (addr), "+&a" (nr) -- 2.25.1