On Thu, May 2, 2019 at 8:41 AM Sebastian Andrzej Siewior <bige...@linutronix.de> wrote: > > 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 <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. > > 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. >
I'm not saying that we should export things for ZFS's benefit. But, as far as I know, _GPL means "this interface is sufficiently specific to Linux details that we think that any user must be a derived work". I don't think that kernel_fpu_begin() is an example of that. --Andy