On 2019-05-02 07:42:14 [-0700], Andy Lutomirski wrote:
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 bigeasy@linutronix.de Cc:: Borislav Petkov bp@suse.de Cc: Rik van Riel riel@surriel.com Cc: "H. Peter Anvin" hpa@zytor.com Cc: "Jason A. Donenfeld" Jason@zx2c4.com Cc: Ard Biesheuvel ard.biesheuvel@linaro.org Cc: Dave Hansen dave.hansen@linux.intel.com Cc: Ingo Molnar mingo@redhat.com Cc: Nicolai Stange nstange@suse.de Cc: Paolo Bonzini pbonzini@redhat.com Cc: Radim Krčmář rkrcmar@redhat.com Cc: Thomas Gleixner tglx@linutronix.de Cc: x86@kernel.org Cc: stable@vger.kernel.org Fixes: 12209993e98c ("x86/fpu: Don't export __kernel_fpu_{begin,end}()") Signed-off-by: Andy Lutomirski luto@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.
Please don't start this. We have everything _GPL that is used for FPU related code and only a few functions are exported because KVM needs it. Also with the recent FPU rework it is much easier to get this wrong so I would not want for any OOT code to mess with it.
And again: It does not change whether or not ZFS can be used on Linux (excluding the license issue). They simply can't use crc32 with their SSE assembly and this is it.
Sebastian