[PATCH] KEYS: trusted: allow module init if TPM is inactive or deactivated

Tyler Hicks tyhicks at canonical.com
Fri Aug 2 20:35:33 UTC 2019


On 2019-08-02 15:23:43, Tyler Hicks wrote:
> On 2019-08-02 22:42:26, Jarkko Sakkinen wrote:
> > On Fri, Aug 02, 2019 at 09:27:22AM -0500, Tyler Hicks wrote:
> > > On 2019-08-02 10:21:16, Roberto Sassu wrote:
> > > > On 8/1/2019 6:32 PM, Jarkko Sakkinen wrote:
> > > > > On Mon, Jul 15, 2019 at 06:44:28PM +0200, Roberto Sassu wrote:
> > > > > > According to the bug report at https://bugs.archlinux.org/task/62678,
> > > > > > the trusted module is a dependency of the ecryptfs module. We should
> > > > > > load the trusted module even if the TPM is inactive or deactivated.
> > > > > > 
> > > > > > Given that commit 782779b60faa ("tpm: Actually fail on TPM errors during
> > > > > > "get random"") changes the return code of tpm_get_random(), the patch
> > > > > > should be modified to ignore the -EIO error. I will send a new version.
> > > > > 
> > > > > Do you have information where this dependency comes from?
> > > > 
> > > > ecryptfs retrieves the encryption key from encrypted keys (see
> > > > ecryptfs_get_encrypted_key()).
> > > 
> > > That has been there for many years with any problems. It was added
> > > in 2011:
> > > 
> > >  commit 1252cc3b232e582e887623dc5f70979418caaaa2
> > >  Author: Roberto Sassu <roberto.sassu at polito.it>
> > >  Date:   Mon Jun 27 13:45:45 2011 +0200
> > > 
> > >      eCryptfs: added support for the encrypted key type
> > > 
> > > What's recently changed the situation is this patch:
> > > 
> > >  commit 240730437deb213a58915830884e1a99045624dc
> > >  Author: Roberto Sassu <roberto.sassu at huawei.com>
> > >  Date:   Wed Feb 6 17:24:51 2019 +0100
> > > 
> > >      KEYS: trusted: explicitly use tpm_chip structure from tpm_default_chip()
> > > 
> > > Now eCryptfs has a hard dependency on a TPM chip that's working
> > > as expected even if eCryptfs (or the rest of the system) isn't utilizing
> > > the TPM. If the TPM behaves unexpectedly, you can't access your files.
> > > We need to get this straightened out soon.
> > 
> > I agree with this conclusion that eCryptfs needs to be fixed, not
> > another workaround to trusted.ko.
> 
> That wasn't the conclusion that I came to. I prefer Robert's proposed
> change to trusted.ko.
> 
> How do you propose that this be fixed in eCryptfs?
> 
> Removing encrypted_key support from eCryptfs is the only way that I can
> see to fix the bug in eCryptfs. That support has been there since 2011.
> I'm not sure of the number of users that would be broken by removing
> encrypted_key support. I don't think the number is high but I can't say
> that confidently.

AFAICT, this bug doesn't only affect eCryptfs. It also affects Intel
nvdimm support starting with:

 commit 4c6926a23b76ea23403976290cd45a7a143f6500
 Author: Dave Jiang <dave.jiang at intel.com>
 Date:   Thu Dec 6 12:40:01 2018 -0800

     acpi/nfit, libnvdimm: Add unlock of nvdimm support for Intel DIMMs

So without a workaround in trusted.ko, encrypted_key support will need
to be removed from eCryptfs and nvdimm to address this issue.

Tyler

> 
> Roberto, what was your use case when you added encrypted_key support to
> eCryptfs back then? Are you aware of any users of eCryptfs +
> encrypted_keys?
> 
> Jarkko, removing a long-standing feature is potentially more disruptive
> to users than adding a workaround to trusted.ko which already requires a
> similar workaround. I don't think that I agree with you on the proper
> fix here.
> 
> Tyler
> 
> > 
> > /Jarkko



More information about the Linux-security-module-archive mailing list