]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
thp, s390: add missing earlyclobber to inline assembly
authorGerald Schaefer <gerald.schaefer@de.ibm.com>
Fri, 28 Sep 2012 00:19:22 +0000 (10:19 +1000)
committerStephen Rothwell <sfr@canb.auug.org.au>
Mon, 8 Oct 2012 03:00:00 +0000 (14:00 +1100)
The constraints of the rrbm inline assembly are missing two
earlyclobber operands, which can lead to an addressing exception
depending on compiler register allocation decisions.

Signed-off-by: Gerald Schaefer <gerald.schaefer@de.ibm.com>
Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
arch/s390/include/asm/pgtable.h

index 0174b008503c4419d7402d9ce816a7e34367bd64..b7d0f4933eacb5ea64631dd7e6569015315f6de4 100644 (file)
@@ -1305,7 +1305,8 @@ static inline int pmdp_test_and_clear_young(struct vm_area_struct *vma,
                        "       ogr     %1,%0\n"
                        "       la      %3,0(%4,%3)\n"
                        "       brct    %2,0b\n"
-                       : "=d" (tmp), "+d" (rc), "+d" (counter), "+a" (pmd_addr)
+                       : "=&d" (tmp), "+&d" (rc), "+d" (counter),
+                         "+a" (pmd_addr)
                        : "a" (64 * 4096UL) : "cc");
                rc = !!rc;
        } else {