• D
    ecryptfs: improved dependency checking and reporting · 38268498
    Dave Hansen 提交于
    So, I compiled a 2.6.31-rc5 kernel with ecryptfs and loaded its module.
    When it came time to mount my filesystem, I got this in dmesg, and it
    refused to mount:
    
    [93577.776637] Unable to allocate crypto cipher with name [aes]; rc = [-2]
    [93577.783280] Error attempting to initialize key TFM cipher with name = [aes]; rc = [-2]
    [93577.791183] Error attempting to initialize cipher with name = [aes] and key size = [32]; rc = [-2]
    [93577.800113] Error parsing options; rc = [-22]
    
    I figured from the error message that I'd either forgotten to load "aes"
    or that my key size was bogus.  Neither one of those was the case.  In
    fact, I was missing the CRYPTO_ECB config option and the 'ecb' module.
    Unfortunately, there's no trace of 'ecb' in that error message.
    
    I've done two things to fix this.  First, I've modified ecryptfs's
    Kconfig entry to select CRYPTO_ECB and CRYPTO_CBC.  I also took CRYPTO
    out of the dependencies since the 'select' will take care of it for us.
    
    I've also modified the error messages to print a string that should
    contain both 'ecb' and 'aes' in my error case.  That will give any
    future users a chance of finding the right modules and Kconfig options.
    
    I also wonder if we should:
    
    	select CRYPTO_AES if !EMBEDDED
    
    since I think most ecryptfs users are using AES like me.
    
    Cc: ecryptfs-devel@lists.launchpad.net
    Cc: linux-fsdevel@vger.kernel.org
    Cc: linux-kernel@vger.kernel.org
    Cc: Dustin Kirkland <kirkland@canonical.com>
    Signed-off-by: NDave Hansen <dave@linux.vnet.ibm.com>
    [tyhicks@linux.vnet.ibm.com: Removed extra newline, 80-char violation]
    Signed-off-by: NTyler Hicks <tyhicks@linux.vnet.ibm.com>
    38268498
crypto.c 66.5 KB