From: Krzysztof Kozlowski
Sent: 18 June 2021 09:57
On 10/05/2021 12:18, Greg Kroah-Hartman wrote:
From: Christoph Hellwig hch@lst.de
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)