arm64: fix inline asm in load_unaligned_zeropad()
authorPeter Collingbourne <pcc@google.com>
Thu, 1 Apr 2021 16:51:10 +0000 (09:51 -0700)
committerWill Deacon <will@kernel.org>
Thu, 1 Apr 2021 17:16:14 +0000 (18:16 +0100)
commit185f2e5f51c2029efd9dd26cceb968a44fe053c6
tree5e63148fa791e725ad9f47b29ca6d8f213cb5b12
parent20109a859a9b514eb10c22b8a14b5704ffe93897
arm64: fix inline asm in load_unaligned_zeropad()

The inline asm's addr operand is marked as input-only, however in
the case where an exception is taken it may be modified by the BIC
instruction on the exception path. Fix the problem by using a temporary
register as the destination register for the BIC instruction.

Signed-off-by: Peter Collingbourne <pcc@google.com>
Cc: stable@vger.kernel.org
Link: https://linux-review.googlesource.com/id/I84538c8a2307d567b4f45bb20b715451005f9617
Link: https://lore.kernel.org/r/20210401165110.3952103-1-pcc@google.com
Signed-off-by: Will Deacon <will@kernel.org>
arch/arm64/include/asm/word-at-a-time.h