The FPU is not a super-Linuxy internal detail, so remove the _GPL from its export. Without something like this patch, it's impossible for even highly license-respecting non-GPL modules to use the FPU, which seems silly to me. After all, the FPU is a CPU feature, not really a kernel feature at all.
Cc: Sebastian Andrzej Siewior <bige...@linutronix.de> Cc:: Borislav Petkov <b...@suse.de> Cc: Rik van Riel <r...@surriel.com> Cc: "H. Peter Anvin" <h...@zytor.com> Cc: "Jason A. Donenfeld" <ja...@zx2c4.com> Cc: Ard Biesheuvel <ard.biesheu...@linaro.org> Cc: Dave Hansen <dave.han...@linux.intel.com> Cc: Ingo Molnar <mi...@redhat.com> Cc: Nicolai Stange <nsta...@suse.de> Cc: Paolo Bonzini <pbonz...@redhat.com> Cc: Radim Krčmář <rkrc...@redhat.com> Cc: Thomas Gleixner <t...@linutronix.de> Cc: x...@kernel.org Cc: sta...@vger.kernel.org Fixes: 12209993e98c ("x86/fpu: Don't export __kernel_fpu_{begin,end}()") Signed-off-by: Andy Lutomirski <l...@kernel.org> --- This fixes a genuine annoyance for ZFS on Linux. Regardless of what one may think about the people who distribute ZFS on Linux *binaries*, as far as I know, the source and the users who build it themselves are entirely respectful of everyone's license. I have no problem with EXPORT_SYMBOL_GPL() in general, but let's please avoid using it for things that aren't fundamentally Linux internals. arch/x86/kernel/fpu/core.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/arch/x86/kernel/fpu/core.c b/arch/x86/kernel/fpu/core.c index 2e5003fef51a..8de5687a470d 100644 --- a/arch/x86/kernel/fpu/core.c +++ b/arch/x86/kernel/fpu/core.c @@ -127,14 +127,14 @@ void kernel_fpu_begin(void) preempt_disable(); __kernel_fpu_begin(); } -EXPORT_SYMBOL_GPL(kernel_fpu_begin); +EXPORT_SYMBOL(kernel_fpu_begin); void kernel_fpu_end(void) { __kernel_fpu_end(); preempt_enable(); } -EXPORT_SYMBOL_GPL(kernel_fpu_end); +EXPORT_SYMBOL(kernel_fpu_end); /* * Save the FPU state (mark it for reload if necessary): -- 2.21.0