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

From: Greg Kroah-Hartman
Date: Thu Jan 10 2019 - 13:24:19 EST


On Thu, Jan 10, 2019 at 07:07:52PM +0100, Sebastian Andrzej Siewior wrote:
> On 2019-01-10 17:32:58 [+0000], Hutter, Tony wrote:
> > > 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?
> >
> > ZFS on Linux uses it for checksums. Its removal is currently breaking ZFS builds against 5.0:
>
> So btrfs uses crc32c() / kernel's crypto API for that and ZFS can't?
> Well the crypto API is GPL only exported so that won't work. crc32c() is
> EXPORT_SYMBOL() so it would work.
> On the other hand it does not look right to provide a EXPORT_SYMBOL
> wrapper around a GPL only interfaceâ

Yes, the "GPL condom" attempt doesn't work at all. It's been shot down
a long time ago in the courts.

My tolerance for ZFS is pretty non-existant. Sun explicitly did not
want their code to work on Linux, so why would we do extra work to get
their code to work properly?

greg k-h