diff options
author | Mark Rutland <mark.rutland@arm.com> | 2023-06-05 10:00:58 +0300 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2023-07-19 17:21:02 +0300 |
commit | ea1432a402ab5d401ea66372a4438ad55061143c (patch) | |
tree | c23fc4d6e0327042a569b8eae30fef3a74a9e1e3 /arch/arm/mach-omap1/board-innovator.c | |
parent | 6b54f5c68474edc241434ab50bae4a08ce45f835 (diff) | |
download | linux-ea1432a402ab5d401ea66372a4438ad55061143c.tar.xz |
locking/atomic: arm: fix sync ops
[ Upstream commit dda5f312bb09e56e7a1c3e3851f2000eb2e9c879 ]
The sync_*() ops on arch/arm are defined in terms of the regular bitops
with no special handling. This is not correct, as UP kernels elide
barriers for the fully-ordered operations, and so the required ordering
is lost when such UP kernels are run under a hypervsior on an SMP
system.
Fix this by defining sync ops with the required barriers.
Note: On 32-bit arm, the sync_*() ops are currently only used by Xen,
which requires ARMv7, but the semantics can be implemented for ARMv6+.
Fixes: e54d2f61528165bb ("xen/arm: sync_bitops")
Signed-off-by: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Reviewed-by: Kees Cook <keescook@chromium.org>
Link: https://lore.kernel.org/r/20230605070124.3741859-2-mark.rutland@arm.com
Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'arch/arm/mach-omap1/board-innovator.c')
0 files changed, 0 insertions, 0 deletions