Bug 40292

Summary: With latest commit for ecryptfs, it's impossible to compile kernel 3.0.0+
Product: File System Reporter: David Hill (hilld)
Component: ecryptfsAssignee: fs_ecryptfs
Status: CLOSED CODE_FIX    
Severity: blocking CC: code, florian, huajun.li.lee, maraeo, rockorequin
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: 3.0.0+ Subsystem:
Regression: Yes Bisected commit-id:
Attachments: config file
another config file

Description David Hill 2011-07-28 17:27:23 UTC
With latest commit for ecryptfs, it's impossible to compile kernel 3.0.0+

fs/built-in.o: In function `ecryptfs_get_encrypted_key_payload_data':
/usr/src/linux-3.0/fs/ecryptfs/ecryptfs_kernel.h:86: undefined reference to `key_type_encrypted'
fs/built-in.o: In function `ecryptfs_get_encrypted_key':
/usr/src/linux-3.0/fs/ecryptfs/ecryptfs_kernel.h:95: undefined reference to `key_type_encrypted'
make: *** [.tmp_vmlinux1] Error 1
Making bzImage failed!
Comment 1 Tyler Hicks 2011-07-28 20:57:38 UTC
Hi David - Can you attach your kernel config?
Comment 2 rocko 2011-08-04 08:26:51 UTC
Created attachment 67492 [details]
config file

Here's the config I'm using. I get the same error.
Comment 3 Adrian 2011-08-05 20:29:24 UTC
Created attachment 67662 [details]
another config file
Comment 4 Marek Olšák 2011-08-07 15:34:38 UTC
Reverting 8973c46c7183b46388da0849e09aff80b667d824 fixes this.
Comment 5 rocko 2011-08-08 07:13:14 UTC
This is still a problem in the 3.1-rc1 release.

I get 'bad object' error if I try to revert or get the log for 8973c46c7183b46388da0849e09aff80b667d824. I cloned a fresh copy just in case it was something corrupted in my git repo.
Comment 6 Huajun.Li 2011-08-08 16:09:26 UTC
I met the issue too, it may be caused by dependency issue. Please try following patch, it works for me:

---
 fs/ecryptfs/Kconfig |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/fs/ecryptfs/Kconfig b/fs/ecryptfs/Kconfig
index 1cd6d9d..585c30d 100644
--- a/fs/ecryptfs/Kconfig
+++ b/fs/ecryptfs/Kconfig
@@ -1,6 +1,6 @@
 config ECRYPT_FS
        tristate "eCrypt filesystem layer support (EXPERIMENTAL)"
-       depends on EXPERIMENTAL && KEYS && CRYPTO
+       depends on EXPERIMENTAL && KEYS && ENCRYPTED_KEYS && CRYPTO
        select CRYPTO_ECB
        select CRYPTO_CBC
        select CRYPTO_MD5
--
1.7.4.1
Comment 7 Tyler Hicks 2011-08-08 16:36:07 UTC
I plan on upstreaming this fix (and others) tomorrow:

https://lkml.org/lkml/2011/8/1/124

The compile error is only seen when eCryptfs is built in and encrypted key support is built as a module.
Comment 8 Florian Mickler 2011-08-15 09:14:53 UTC
A patch referencing this bug report has been merged in Linux v3.1-rc2:

commit 4b6fee17b1758391281ddf5b00328035573f8be1
Author: Roberto Sassu <roberto.sassu@polito.it>
Date:   Mon Aug 1 13:33:38 2011 +0200

    eCryptfs: fix compile error