Re: x86/fpu: Don't export __kernel_fpu_{begin,end}()

From: Sebastian Andrzej Siewior
Date: Wed Jan 09 2019 - 06:19:56 EST


On 2019-01-07 18:08:26 [-0400], Marc Dionne wrote:
> On Thu, Dec 27, 2018 at 11:20 AM Linux Kernel Mailing List
> <linux-kernel@xxxxxxxxxxxxxxx> wrote:
> >
> > Commit: 12209993e98c5fa1855c467f22a24e3d5b8be205
> > x86/fpu: Don't export __kernel_fpu_{begin,end}()
> >
â
> > With EFI gone as the last user of __kernel_fpu_{begin|end}(), both can
> > be made static and not exported anymore.
> >
> This commit removes an exported function pair that is currently used
> by out of tree modules, while the replacement pair
> (kernel_fpu_begin/end) is EXPORT_SYMBOL_GPL. So this is making
> existing functionality GPL only, which will probably be an issue for
> several out of tree modules that use the fpu.
>
> Could kernel_fpu_begin/end be made plain EXPORT_SYMBOL?

It can be used by OOT modules as long as they are not under a
proprietary license. The change here is not for me to decide, I added
the x86 maintainers to make their decision. I can make a patch if they
say so.

On the other hand could we just drop EXPORT_SYMBOL_GPL? I doubt this
helps in any way yet please correct me if I am wrong.
The kernel is GPL and everything links to it should be GPL compatible. People
that don't specify a GPL compatible license either use wrapper around their
binary blob or use EXPORT_SYMBOL functions. The latter group complains each
time a function is not available anymore and we end up changing it to
EXPORT_SYMBOL.
So what do we gain from that EXPORT_SYMBOL_GPL?

> Marc

Sebastian