Joel Stanley <j...@jms.id.au> 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