linux/arch/powerpc/sysdev/xics
Nathan Lynch f88aabad33 Revert "powerpc/rtas: Implement reentrant rtas call"
At the time this was submitted by Leonardo, I confirmed -- or thought
I had confirmed -- with PowerVM partition firmware development that
the following RTAS functions:

- ibm,get-xive
- ibm,int-off
- ibm,int-on
- ibm,set-xive

were safe to call on multiple CPUs simultaneously, not only with
respect to themselves as indicated by PAPR, but with arbitrary other
RTAS calls:

https://lore.kernel.org/linuxppc-dev/875zcy2v8o.fsf@linux.ibm.com/

Recent discussion with firmware development makes it clear that this
is not true, and that the code in commit b664db8e3f ("powerpc/rtas:
Implement reentrant rtas call") is unsafe, likely explaining several
strange bugs we've seen in internal testing involving DLPAR and
LPM. These scenarios use ibm,configure-connector, whose internal state
can be corrupted by the concurrent use of the "reentrant" functions,
leading to symptoms like endless busy statuses from RTAS.

Fixes: b664db8e3f ("powerpc/rtas: Implement reentrant rtas call")
Cc: stable@vger.kernel.org # v5.8+
Signed-off-by: Nathan Lynch <nathanl@linux.ibm.com>
Reviewed-by: Laurent Dufour <laurent.dufour@fr.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20220907220111.223267-1-nathanl@linux.ibm.com
2022-09-14 22:43:13 +10:00
..
icp-hv.c powerpc/sysdev: Add __init attribute to eligible functions 2021-12-23 22:33:12 +11:00
icp-native.c powerpc: Add missing headers 2022-05-08 22:15:40 +10:00
icp-opal.c powerpc/xics: fix refcount leak in icp_opal_init() 2022-05-22 15:58:30 +10:00
ics-native.c powerpc/xics: Include missing header 2022-05-24 20:44:30 +10:00
ics-opal.c powerpc: Remove asm/prom.h from all files that don't need it 2022-05-08 22:15:04 +10:00
ics-rtas.c Revert "powerpc/rtas: Implement reentrant rtas call" 2022-09-14 22:43:13 +10:00
Kconfig powerpc/xics: Add a native ICS backend for microwatt 2021-06-21 21:15:58 +10:00
Makefile powerpc/xics: Add a native ICS backend for microwatt 2021-06-21 21:15:58 +10:00
xics-common.c powerpc/kasan: Disable address sanitization in kexec paths 2022-05-22 15:58:29 +10:00