]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
s390/process: fix sfpc inline assembly
authorHeiko Carstens <heiko.carstens@de.ibm.com>
Mon, 6 Jul 2015 13:02:37 +0000 (15:02 +0200)
committerZefan Li <lizefan@huawei.com>
Mon, 21 Mar 2016 01:17:43 +0000 (09:17 +0800)
commit e47994dd44bcb4a77b4152bd0eada585934703c0 upstream.

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.

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
[lizf: Backported to 3.4: adjust context]
Signed-off-by: Zefan Li <lizefan@huawei.com>
arch/s390/kernel/process.c

index 60055cefdd04da2db1d3af3061d80eb50f669e17..5f947e5315626334d2b902bbe0ec63c45b97a550 100644 (file)
@@ -246,7 +246,7 @@ asmlinkage void execve_tail(void)
 {
        current->thread.fp_regs.fpc = 0;
        if (MACHINE_HAS_IEEE)
-               asm volatile("sfpc %0,%0" : : "d" (0));
+               asm volatile("sfpc %0" : : "d" (0));
 }
 
 /*