mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/
synced 2026-09-28 19:20:30 +00:00
arm64: percpu: Make this_cpu accessors pre-empt safe
this_cpu operations were implemented for arm64 in:5284e1barm64: xchg: Implement cmpxchg_doublef97fc81arm64: percpu: Implement this_cpu operations Unfortunately, it is possible for pre-emption to take place between address generation and data access. This can lead to cases where data is being manipulated by this_cpu for a different CPU than it was called on. Which effectively breaks the spec. This patch disables pre-emption for the this_cpu operations guaranteeing that address generation and data manipulation take place without a pre-emption in-between. Fixes:5284e1b4bc("arm64: xchg: Implement cmpxchg_double") Fixes:f97fc81079("arm64: percpu: Implement this_cpu operations") Reported-by: Mark Rutland <mark.rutland@arm.com> Acked-by: Will Deacon <will.deacon@arm.com> Signed-off-by: Steve Capper <steve.capper@linaro.org> [catalin.marinas@arm.com: remove space after type cast] Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
This commit is contained in:
parent
e53f21bce4
commit
f3eab7184d
2 changed files with 57 additions and 19 deletions
Loading…
Add table
Add a link
Reference in a new issue