aboutsummaryrefslogtreecommitdiffstats
path: root/kernel
diff options
context:
space:
mode:
authorWill Deacon <will.deacon@arm.com>2015-07-28 14:48:00 +0100
committerWill Deacon <will.deacon@arm.com>2015-07-28 14:48:00 +0100
commitc1d7cd228b4b46eca1dbd9bb2c6053f477a1a6ff (patch)
tree9a1fc2624b65b7a1a44a167d5b2e856cf7e1b1b6 /kernel
parentarm64: Use last level TLBI for user pte changes (diff)
downloadlinux-dev-c1d7cd228b4b46eca1dbd9bb2c6053f477a1a6ff.tar.xz
linux-dev-c1d7cd228b4b46eca1dbd9bb2c6053f477a1a6ff.zip
arm64: spinlock: fix ll/sc unlock on big-endian systems
When unlocking a spinlock, we perform a read-modify-write on the owner ticket in order to increment it and store it back with release semantics. In the LL/SC case, we load the 16-bit ticket using a 32-bit load and therefore store back the wrong halfword on a big-endian system, corrupting the lock after the first unlock and killing the system dead. This patch fixes the unlock code to use 16-bit accessors consistently. Signed-off-by: Will Deacon <will.deacon@arm.com>
Diffstat (limited to 'kernel')
0 files changed, 0 insertions, 0 deletions