aboutsummaryrefslogtreecommitdiffstats
path: root/lib/xarray.c
diff options
context:
space:
mode:
authorTony Lindgren <[email protected]>2022-03-31 17:17:37 +0000
committerArnd Bergmann <[email protected]>2022-03-31 20:41:27 +0000
commit8cf8df89678aa5ab3eb206ccc7c8dee7c528bf50 (patch)
treeae07f989398251aff6247e8b8dae60e62916a00c /lib/xarray.c
parentdt: amd-seattle: add a description of the CPUs and caches (diff)
downloadkernel-8cf8df89678aa5ab3eb206ccc7c8dee7c528bf50.tar.gz
kernel-8cf8df89678aa5ab3eb206ccc7c8dee7c528bf50.zip
ARM: OMAP2+: Fix regression for smc calls for vmap stack
Commit 9c46929e7989 ("ARM: implement THREAD_INFO_IN_TASK for uniprocessor systems") started triggering an issue with smc calls hanging on boot as VMAP_STACK is now enabled by default. Based on discussions on the #armlinux irc channel, Arnd noticed that omaps are using __pa() for stack for smc calls. This does not work with vmap stack. Let's fix the issue by changing the param arrays to use static param[5] for each function for __pa() to work. This consumes a bit more memory compared to adding a single static buffer, but avoids potential races with the smc calls initializing the shared buffer. For omap_secure_dispatcher(), we need to use a cpu specific buffer as there's nothing currently ensuring it only gets called from cpu0. Fixes: 9c46929e7989 ("ARM: implement THREAD_INFO_IN_TASK for uniprocessor systems") Link: https://lore.kernel.org/r/[email protected] Suggested-by: Ard Biesheuvel <[email protected]> Suggested-by: Arnd Bergmann <[email protected]> Signed-off-by: Tony Lindgren <[email protected]> Reviewed-by: Ard Biesheuvel <[email protected]> Signed-off-by: Arnd Bergmann <[email protected]>
Diffstat (limited to 'lib/xarray.c')
0 files changed, 0 insertions, 0 deletions