]> git.baikalelectronics.ru Git - kernel.git/commitdiff
watchdog: diag288_wdt: fix __diag288() inline assembly
authorAlexander Egorenkov <egorenar@linux.ibm.com>
Fri, 27 Jan 2023 13:52:42 +0000 (14:52 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 9 Feb 2023 10:28:16 +0000 (11:28 +0100)
commit 32e40f9506b9e32917eb73154f93037b443124d1 upstream.

The DIAG 288 statement consumes an EBCDIC string the address of which is
passed in a register. Use a "memory" clobber to tell the compiler that
memory is accessed within the inline assembly.

Signed-off-by: Alexander Egorenkov <egorenar@linux.ibm.com>
Reviewed-by: Heiko Carstens <hca@linux.ibm.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/watchdog/diag288_wdt.c

index 2112eef699697783c7d459f130febdc3b60d319f..6ca5d9515d85cae49c89333722658a47765be7b4 100644 (file)
@@ -86,7 +86,7 @@ static int __diag288(unsigned int func, unsigned int timeout,
                "1:\n"
                EX_TABLE(0b, 1b)
                : "+d" (err) : "d"(__func), "d"(__timeout),
-                 "d"(__action), "d"(__len) : "1", "cc");
+                 "d"(__action), "d"(__len) : "1", "cc", "memory");
        return err;
 }