diff options
author | Will Deacon <will.deacon@arm.com> | 2015-10-15 12:55:53 (GMT) |
---|---|---|
committer | Will Deacon <will.deacon@arm.com> | 2015-10-28 17:06:35 (GMT) |
commit | 589cb22bbedacf325951014c07a35a2b01ca57f6 (patch) | |
tree | 00adb17d6a4a89a8e6ff6c4479979f80171d3119 /crypto/khazad.c | |
parent | 32b88194f71d6ae7768a29f87fbba454728273ee (diff) | |
download | linux-589cb22bbedacf325951014c07a35a2b01ca57f6.tar.xz |
arm64: compat: fix stxr failure case in SWP emulation
If the STXR instruction fails in the SWP emulation code, we leave *data
overwritten with the loaded value, therefore corrupting the data written
by a subsequent, successful attempt.
This patch re-jigs the code so that we only write back to *data once we
know that the update has happened.
Cc: <stable@vger.kernel.org>
Fixes: bd35a4adc413 ("arm64: Port SWP/SWPB emulation support from arm")
Reported-by: Shengjiu Wang <shengjiu.wang@freescale.com>
Reported-by: Vladimir Murzin <vladimir.murzin@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Diffstat (limited to 'crypto/khazad.c')
0 files changed, 0 insertions, 0 deletions