powerpc/kernel: Block interrupts when updating TIDR
authorSukadev Bhattiprolu <sukadev@linux.vnet.ibm.com>
Tue, 28 Nov 2017 19:39:43 +0000 (13:39 -0600)
committerMichael Ellerman <mpe@ellerman.id.au>
Sat, 27 Jan 2018 09:54:57 +0000 (20:54 +1100)
commit384dfd627f1ee67d028e6f14c6e9bf5a1e2a7a24
tree2d75e570ecca643bef1eaca852215898d134b3a5
parent902bdc57451c2c64aa139bbe24067f70a186db0a
powerpc/kernel: Block interrupts when updating TIDR

clear_thread_tidr() is called in interrupt context as a part of delayed
put of the task structure (i.e as a part of timer interrupt). To prevent
a deadlock, block interrupts when holding vas_thread_id_lock to set/
clear TIDR for a task.

Fixes: ec233ede4c86 ("powerpc: Add support for setting SPRN_TIDR")
Cc: stable@vger.kernel.org # v4.15+
Signed-off-by: Sukadev Bhattiprolu <sukadev@linux.vnet.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
arch/powerpc/kernel/process.c