All of lore.kernel.org
 help / color / mirror / Atom feed
From: Josh Triplett <josh@joshtriplett.org>
To: Christoph Hellwig <hch@lst.de>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Jessica Yu <jeyu@kernel.org>,
	linux-kernel@vger.kernel.org
Subject: Re: inherit TAINT_PROPRIETARY_MODULE v2
Date: Sat, 01 Aug 2020 01:16:30 -0700	[thread overview]
Message-ID: <10747512-3CA1-49BE-85CE-BA5C46C16E76@joshtriplett.org> (raw)
In-Reply-To: <20200801065308.GA1930@lst.de>

On July 31, 2020 11:53:08 PM PDT, Christoph Hellwig <hch@lst.de> wrote:
>[note: private reply now to start a flame fest with the usual suspects]

[You still CCed LKML.]

>On Fri, Jul 31, 2020 at 01:11:46PM -0700, josh@joshtriplett.org wrote:
>> Christoph Hellwig wrote:
>> > we've had a bug in our resolution of _GPL modules since day one, that
>> > is a module can claim to be GPL licensed and use _GPL exports, while
>> > it also depends on symbols from non-GPL modules.  This is used as a
>> > circumvention of the _GPL exports by using a small shim module using
>> > the _GPL exports and the other functionality.
>> 
>> This looks great. You might also consider doing the reverse: if a module
>> imports any EXPORT_SYMBOL_GPL symbols, any symbols that module in turn
>> exports shouldn't be importable by any module that doesn't explicitly
>> claim to be GPL-compatible. Effectively, if a module imports any
>> EXPORT_SYMBOL_GPL symbols, all of its exported symbols would then be
>> treated as EXPORT_SYMBOL_GPL.
>> 
>> This would catch the case of attempting to "wrap" EXPORT_SYMBOL_GPL
>> symbols in the other direction, by re-exporting the same or similar
>> functions to another module. (This would help catch mistakes, not just
>> intentional malice.)
>
>I'd personally 100% agree with that, but I'd rather clear it with Linus
>privately first.  This would basically make most of the usual
>modular subsystems unavailable to proprietary modules as all of them
>use _GPL driver core exports, and I suspect he'd cave into the screaming.

As a start, what about applying that logic specifically to out-of-tree modules? That would address the shim problem. The justification would be that in-tree modules have at least gone through some level of review on what they're exporting.

(Standard disclaimer: suggesting enhancements to the symbol licensing framework should not be taken as implicit endorsement of any legitimacy for non-GPL-compatible modules.)


      reply	other threads:[~2020-08-01  8:16 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-07-30  6:10 inherit TAINT_PROPRIETARY_MODULE v2 Christoph Hellwig
2020-07-30  6:10 ` [PATCH 1/8] modules: mark ref_module static Christoph Hellwig
2020-07-30  6:10 ` [PATCH 2/8] modules: mark find_symbol static Christoph Hellwig
2020-07-30  6:10 ` [PATCH 3/8] modules: mark each_symbol_section static Christoph Hellwig
2020-07-30  6:10 ` [PATCH 4/8] modules: unexport __module_text_address Christoph Hellwig
2020-07-30  6:10 ` [PATCH 5/8] modules: unexport __module_address Christoph Hellwig
2020-07-30  6:10 ` [PATCH 6/8] modules: rename the licence field in struct symsearch to license Christoph Hellwig
2020-07-30  6:10 ` [PATCH 7/8] modules: return licensing information from find_symbol Christoph Hellwig
2020-07-30  6:10 ` [PATCH 8/8] modules: inherit TAINT_PROPRIETARY_MODULE Christoph Hellwig
2020-07-30 14:12   ` Jessica Yu
2020-07-30 16:29     ` Christoph Hellwig
2020-07-31  8:51       ` Jessica Yu
2020-07-31  9:00         ` Christoph Hellwig
2020-07-31  9:01           ` Jessica Yu
2020-08-04 18:52   ` daniel
2020-08-04 18:52     ` daniel
2020-07-31 20:11 ` inherit TAINT_PROPRIETARY_MODULE v2 josh
2020-08-01  6:53   ` Christoph Hellwig
2020-08-01  8:16     ` Josh Triplett [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=10747512-3CA1-49BE-85CE-BA5C46C16E76@joshtriplett.org \
    --to=josh@joshtriplett.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=hch@lst.de \
    --cc=jeyu@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.