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

From: Greg Kroah-Hartman
Date: Thu Jan 10 2019 - 08:11:38 EST


On Wed, Jan 09, 2019 at 06:09:35PM +0100, Sebastian Andrzej Siewior wrote:
> On 2019-01-09 17:52:35 [+0100], Greg Kroah-Hartman wrote:
> > If there are no in-kernel users, the symbols should not be exported
> > anymore. That's nothing new, we have always done this.
>
> The thing is that we had
> EXPORT_SYMBOL(__kernel_fpu_begin)
> EXPORT_SYMBOL_GPL(kernel_fpu_begin)
>
> and now __kernel_fpu_begin() is no longer exported and static only.

Ok, that is fine.

> All in kernel user (including the kvm module) use kernel_fpu_begin()
> which is not available to proprietary modules. Hence Marc's mail.

But since when did out-of-tree modules use __kernel_fpu_begin? It's an
x86-only thing, and shouldn't really be used by anyone, right?

> > > 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.
> >
> > Yes, it helps, please leave it as-is.
>
> As you say. I only notice that certain things used to work and then no
> longer do because due to $rework it somehow become EXPORT_SYMBOL_GPL
> only and people complain and we tend to switch the export back to
> EXPORT_SYMBOL.

That is a different topic than the whole _GPL symbol export at all.
Please don't conflate the two.

> I'm not aware of a case where it actually helped in anyway.

The use of the _GPL symbol exports has helped in numerous places over
the years. I'd be glad to discuss details over a beverage sometime :)

thanks,

greg k-h