aboutsummaryrefslogtreecommitdiffstats
path: root/mm/slub.c
diff options
context:
space:
mode:
authorSteve Capper <steve.capper@linaro.org>2015-03-22 14:51:51 +0000
committerCatalin Marinas <catalin.marinas@arm.com>2015-03-24 18:02:55 +0000
commitf3eab7184ddcd4867cf42e3274ba24a66e1e093d (patch)
treee501fee107f0d97b77cde072d14b0eeb80cd85af /mm/slub.c
parentarm64: Use the reserved TTBR0 if context switching to the init_mm (diff)
downloadlinux-dev-f3eab7184ddcd4867cf42e3274ba24a66e1e093d.tar.xz
linux-dev-f3eab7184ddcd4867cf42e3274ba24a66e1e093d.zip
arm64: percpu: Make this_cpu accessors pre-empt safe
this_cpu operations were implemented for arm64 in: 5284e1b arm64: xchg: Implement cmpxchg_double f97fc81 arm64: 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: 5284e1b4bc8a ("arm64: xchg: Implement cmpxchg_double") Fixes: f97fc810798c ("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>
Diffstat (limited to 'mm/slub.c')
0 files changed, 0 insertions, 0 deletions