RE: [PATCH 5.4 031/184] modules: inherit TAINT_PROPRIETARY_MODULE

From: David Laight
Date: Fri Jun 18 2021 - 05:08:02 EST


From: Krzysztof Kozlowski
> Sent: 18 June 2021 09:57
>
> On 10/05/2021 12:18, Greg Kroah-Hartman wrote:
> > From: Christoph Hellwig <hch@xxxxxx>
> >
> > commit 262e6ae7081df304fc625cf368d5c2cbba2bb991 upstream.
> >
> > If a TAINT_PROPRIETARY_MODULE exports symbol, inherit the taint flag
> > for all modules importing these symbols, and don't allow loading
> > symbols from TAINT_PROPRIETARY_MODULE modules if the module previously
> > imported gplonly symbols. Add a anti-circumvention devices so people
> > don't accidentally get themselves into trouble this way.
> >
> > Comment from Greg:
> > "Ah, the proven-to-be-illegal "GPL Condom" defense :)"
>
> Patch got in to stable, so my comments are quite late, but can someone
> explain me - how this is a stable material? What specific, real bug that
> bothers people, is being fixed here? Or maybe it fixes serious issue
> reported by a user of distribution kernel? IOW, how does this match
> stable kernel rules at all?
>
> For sure it breaks some out-of-tree modules already present and used by
> customers of downstream stable kernels. Therefore I wonder what is the
> bug fixed here, so the breakage and annoyance of stable users is justified.

It also doesn't stop non-gpl out-of-tree modules doing anything.
They just have to be reorganized with a 'base' GPL module that
includes wrappers for all the gplonly symbols and then all
the rest of the modules can be non-gpl.

This means that drivers that were marked gpl no longer need to
be because they now use the wrappers.

So it is just an annoyance.

Fortunately our main out-of-tree drivers don't use any GPL bits
at all - so this change doesn't affect our customer releases.

David

-
Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK
Registration No: 1397386 (Wales)