summaryrefslogtreecommitdiff
path: root/arch/powerpc/math-emu
diff options
context:
space:
mode:
authorPaul Mackerras <paulus@ozlabs.org>2016-10-21 20:03:05 +1100
committerMichael Ellerman <mpe@ellerman.id.au>2016-10-24 19:29:36 +1100
commit56c46222af0d09149fadec2a3ce9d4889de01cc6 (patch)
treeeaf5e055eaea82bbb34a947e6c072bca764c9a37 /arch/powerpc/math-emu
parenta05b82d5149dfeef05254a11c3636a89a854520a (diff)
powerpc/64: Re-fix race condition between going idle and entering guest
Commit 8117ac6a6c2f ("powerpc/powernv: Switch off MMU before entering nap/sleep/rvwinkle mode", 2014-12-10) fixed a race condition where one thread entering a KVM guest could switch the MMU context to the guest while another thread was still in host kernel context with the MMU on. That commit moved the point where a thread entering a power-saving mode set its kvm_hstate.hwthread_state field in its PACA to KVM_HWTHREAD_IN_IDLE from a point where the MMU was on to after the MMU had been switched off. That commit also added a comment explaining that we have to switch to real mode before setting hwthread_state to avoid this race. Nevertheless, commit 4eae2c9ae54a ("powerpc/powernv: Make pnv_powersave_common more generic", 2016-07-08) subsequently moved the setting of hwthread_state back to a point where the MMU is on, thus reintroducing the race, despite the comment saying that this should not be done being included in full in the context lines of the patch that did it. This fixes the race again and adds a bigger and shoutier comment explaining the potential race condition. Fixes: 4eae2c9ae54a ("powerpc/powernv: Make pnv_powersave_common more generic") Cc: stable@vger.kernel.org # v4.8+ Signed-off-by: Paul Mackerras <paulus@ozlabs.org> Reviewed-by: Shreyas B. Prabhu <shreyasbp@gmail.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Diffstat (limited to 'arch/powerpc/math-emu')
0 files changed, 0 insertions, 0 deletions