]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
s390/cpcmd: fix inline assembly register clobbering
authorAlexander Gordeev <agordeev@linux.ibm.com>
Mon, 29 Mar 2021 16:35:07 +0000 (18:35 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 16 Apr 2021 09:57:50 +0000 (11:57 +0200)
commit4dea7a1bd412311b96bce42614bb4dddce20ddcb
treec6b8ea925b35c6508492f2de85c32432c3c8a779
parent9948ff55ed9c792c5ede2b05092ba3e447f91d0f
s390/cpcmd: fix inline assembly register clobbering

[ Upstream commit 7a2f91441b2c1d81b77c1cd816a4659f4abc9cbe ]

Register variables initialized using arithmetic. That leads to
kasan instrumentaton code corrupting the registers contents.
Follow GCC guidlines and use temporary variables for assigning
init values to register variables.

Fixes: 94c12cc7d196 ("[S390] Inline assembly cleanup.")
Signed-off-by: Alexander Gordeev <agordeev@linux.ibm.com>
Acked-by: Ilya Leoshkevich <iii@linux.ibm.com>
Link: https://gcc.gnu.org/onlinedocs/gcc-10.2.0/gcc/Local-Register-Variables.html
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
arch/s390/kernel/cpcmd.c