s390/process: fix sfpc inline assembly
authorHeiko Carstens <heiko.carstens@de.ibm.com>
Mon, 6 Jul 2015 13:02:37 +0000 (15:02 +0200)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>
Mon, 13 Jul 2015 09:02:18 +0000 (11:02 +0200)
The sfpc inline assembly within execve_tail() may incorrectly set bits
28-31 of the sfpc instruction to a value which is not zero.
These bits however are currently unused and therefore should be zero
so we won't get surprised if these bits will be used in the future.

Therefore remove the second operand from the inline assembly.

Cc: <stable@vger.kernel.org>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
arch/s390/kernel/process.c

index dc5edc2..8f587d8 100644 (file)
@@ -163,7 +163,7 @@ int copy_thread(unsigned long clone_flags, unsigned long new_stackp,
 asmlinkage void execve_tail(void)
 {
        current->thread.fp_regs.fpc = 0;
-       asm volatile("sfpc %0,%0" : : "d" (0));
+       asm volatile("sfpc %0" : : "d" (0));
 }
 
 /*