rndhw: add missing "memory" clobbers
authorJussi Kivilinna <jussi.kivilinna@iki.fi>
Sat, 4 Feb 2017 10:48:57 +0000 (12:48 +0200)
committerJussi Kivilinna <jussi.kivilinna@iki.fi>
Sat, 4 Feb 2017 10:48:57 +0000 (12:48 +0200)
* random/rndhw.c: (poll_padlock, rdrand_long): Add "memory" to asm
clobbers.
--

Signed-off-by: Jussi Kivilinna <jussi.kivilinna@iki.fi>
random/rndhw.c

index 063c25a..e3a7861 100644 (file)
@@ -76,7 +76,7 @@ poll_padlock (void (*add)(const void*, size_t, enum random_origins),
          ".byte 0x0f, 0xa7, 0xc0\n\t" /* XSTORE RNG. */
          : "=a" (status)
          : "g" (p)
-         : "%rdx", "%rdi", "cc"
+         : "%rdx", "%rdi", "cc", "memory"
          );
 #else
       asm volatile
@@ -85,7 +85,7 @@ poll_padlock (void (*add)(const void*, size_t, enum random_origins),
          ".byte 0x0f, 0xa7, 0xc0\n\t" /* XSTORE RNG. */
          : "=a" (status)
          : "g" (p)
-         : "%edx", "%edi", "cc"
+         : "%edx", "%edi", "cc", "memory"
          );
 #endif
       if ((status & (1<<6))         /* RNG still enabled.  */
@@ -139,7 +139,7 @@ rdrand_long (volatile unsigned long *v)
                 "2:"
                 : "=r" (ok), "=a" (*v)
                 : "0" (RDRAND_RETRY_LOOPS)
-                : "cc");
+                : "cc", "memory");
   return ok;
 }