Re: [PATCH 2/3] powerpc: Fix undefined static key
From: Michael Ellerman <mpe@ellerman.id.au>
Date: 2021-08-17 02:53:21
Joel Stanley [off-list ref] writes:
When CONFIG_PPC_BARRIER_NOSPEC=n, security.c is not built leading to a missing definition of uaccess_flush_key. LD vmlinux.o MODPOST vmlinux.symvers MODINFO modules.builtin.modinfo GEN modules.builtin LD .tmp_vmlinux.kallsyms1 powerpc64le-linux-gnu-ld: arch/powerpc/kernel/align.o:(.toc+0x0): undefined reference to `uaccess_flush_key' powerpc64le-linux-gnu-ld: arch/powerpc/kernel/signal_64.o:(.toc+0x0): undefined reference to `uaccess_flush_key' powerpc64le-linux-gnu-ld: arch/powerpc/kernel/process.o:(.toc+0x0): undefined reference to `uaccess_flush_key' powerpc64le-linux-gnu-ld: arch/powerpc/kernel/traps.o:(.toc+0x0): undefined reference to `uaccess_flush_key' powerpc64le-linux-gnu-ld: arch/powerpc/kernel/hw_breakpoint_constraints.o:(.toc+0x0): undefined reference to `uaccess_flush_key' powerpc64le-linux-gnu-ld: arch/powerpc/kernel/ptrace/ptrace.o:(.toc+0x0): more undefined references to `uaccess_flush_key' follow make[1]: *** [Makefile:1176: vmlinux] Error 1 Hack one in to fix the build.
Yeah sorry that is a bit of a hack :) I think the root cause here is that we don't have a CONFIG for "want security workaround stuff", because so far we haven't had a CPU that wants to turn that all off. The generic code uses CONFIG_GENERIC_CPU_VULNERABILITIES, so I guess we should follow that example and add PPC_CPU_VULNERABILITIES. Then we'd use that to disable all the security.c stuff, and PPC_BARRIER_NOSPEC would depend on it also. Then we could allow configuring that off for Microwatt, or possibly for all platforms if people want to do that. cheers