From: Rusty Russell <rusty@rustcorp.com.au>
To: Matthew Garrett <mjg59@google.com>
Cc: linux-kernel@vger.kernel.org, jeyu@kernel.org
Subject: Re: [PATCH] Allow automatic kernel taint on unsigned module load to be disabled
Date: Mon, 07 Aug 2017 14:17:15 +0930 [thread overview]
Message-ID: <873794x9v0.fsf@rustcorp.com.au> (raw)
In-Reply-To: <CACdnJuuGusfnEXHY-rEeH5BNefsZHQk1xNJPK2SgXaw4prtt4Q@mail.gmail.com>
Matthew Garrett <mjg59@google.com> writes:
> On Sun, Aug 6, 2017 at 7:49 PM, Rusty Russell <rusty@rustcorp.com.au> wrote:
>> Matthew Garrett <mjg59@google.com> writes:
>>> Binary modules will still be tainted by the license checker. The issue
>>> is that if you want to enforce module signatures under *some*
>>> circumstances, you need to build with CONFIG_MODULE_SIG
>>
>> Not at all! You can validate them in userspace.
>
> And then you need an entire trusted userland, at which point you can
> assert that the modules are trustworthy without having to validate
> them so you don't need CONFIG_MODULE_SIG anyway.
Yep. But your patch already gives userland that power, to silently load
unsigned modules.
>>> but that
>>> changes the behaviour of the kernel even when you're not enforcing
>>> module signatures. The same kernel may be used in environments where
>>> you can verify the kernel and environments where you can't, and in the
>>> latter you may not care that modules are unsigned. In that scenario,
>>> tainting doesn't buy you anything.
>>
>> With your patch, you don't get tainting in the environment where you can
>> verify.
>
> You don't anyway, do you? Loading has already failed before this point
> if sig_enforce is set.
No. You used to get a warning and a taint when you had a kernel
configured to expect signatures and it didn't get one. You want to
remove that warning, to silently accept unsigned modules.
>> You'd be better adding a sysctl or equiv. to turn off force loading, and
>> use that in your can-verify system.
>
> I'm not sure what you mean by "force loading" here - if sig_enforce is
> set, you can't force load an unsigned module. If sig_enforce isn't
> set, you'll taint regardless of whether or not you force.
>
> Wait. Hang on - are you confusing CONFIG_MODULE_SIG with CONFIG_MODVERSIONS?
No, I mean stripping the signatures. (I thought modprobe could do this
these days, but apparently not!)
So, you're actually building the same kernel, but building two sets of
modules: one without signatures, one with?
And when deploying the one with signatures, you're setting sig_enforce.
On the other, you don't want signatures because um, reasons? And you
want to suppress the message?
This seems so convoluted already, I can see how you considered an
upstream patch your most productive path forward.
But it's possible that this scenario makes sense to Jeyu and I'm just
incapable of seeing its beauty?
Cheers,
Rusty.
next prev parent reply other threads:[~2017-08-07 4:47 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-08-04 18:07 [PATCH] Allow automatic kernel taint on unsigned module load to be disabled Matthew Garrett
2017-08-06 6:54 ` Rusty Russell
2017-08-06 17:34 ` Matthew Garrett
2017-08-07 2:49 ` Rusty Russell
2017-08-07 3:23 ` Matthew Garrett
2017-08-07 4:47 ` Rusty Russell [this message]
2017-08-07 5:31 ` Matthew Garrett
2017-08-10 20:43 ` Jessica Yu
2017-08-14 16:50 ` Matthew Garrett
2017-08-29 17:56 ` Jessica Yu
2017-08-29 20:22 ` Matthew Garrett
2017-08-29 22:02 ` Ben Hutchings
2017-10-18 18:27 ` Matthew Garrett
2018-01-30 19:00 ` Matthew Garrett
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=873794x9v0.fsf@rustcorp.com.au \
--to=rusty@rustcorp.com.au \
--cc=jeyu@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mjg59@google.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox