summaryrefslogtreecommitdiffstats
path: root/arch/arm64/include/asm/cmpxchg.h
diff options
context:
space:
mode:
authorWill Deacon <will.deacon@arm.com>2015-07-28 19:07:28 +0100
committerWill Deacon <will.deacon@arm.com>2015-07-30 19:07:28 +0100
commitef5e724b25c9f90b7683bb2d45833ebac0989dcb (patch)
treeba29fb37e3442b0bba787ed1edbb23c7b30f45d6 /arch/arm64/include/asm/cmpxchg.h
parent6c020ea8dc3a8adee81b6f141428a7a75249706e (diff)
downloadop-kernel-dev-ef5e724b25c9f90b7683bb2d45833ebac0989dcb.zip
op-kernel-dev-ef5e724b25c9f90b7683bb2d45833ebac0989dcb.tar.gz
arm64: alternative: put secondary CPUs into polling loop during patch
When patching the kernel text with alternatives, we may end up patching parts of the stop_machine state machine (e.g. atomic_dec_and_test in ack_state) and consequently corrupt the instruction stream of any secondary CPUs. This patch passes the cpu_online_mask to stop_machine, forcing all of the CPUs into our own callback which can place the secondary cores into a dumb (but safe!) polling loop whilst the patching is carried out. Signed-off-by: Will Deacon <will.deacon@arm.com>
Diffstat (limited to 'arch/arm64/include/asm/cmpxchg.h')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud