On 2012-07-12 19:10:24, Tim Sally wrote: > The issue occurs when eCryptfs is mounted with a cipher supported by > the crypto subsystem but not by eCryptfs. The mount succeeds and an > error does not occur until a write. This change checks for eCryptfs > cipher support at mount time. > > Resolves Launchpad issue #338914, reported by Tyler Hicks in 03/2009. > https://bugs.launchpad.net/ecryptfs/+bug/338914 > > Signed-off-by: Tim Sally <tsally@xxxxxxxxxxxxxxx> Looks good! I've pushed it to the eCryptfs -next branch and it will go in during the 3.6 merge window. I'm looking forward to more eCryptfs patches from you. Thanks! Tyler > --- > fs/ecryptfs/main.c | 13 +++++++++++++ > 1 file changed, 13 insertions(+) > > diff --git a/fs/ecryptfs/main.c b/fs/ecryptfs/main.c > index df217dc..aee998d 100644 > --- a/fs/ecryptfs/main.c > +++ b/fs/ecryptfs/main.c > @@ -279,6 +279,7 @@ static int ecryptfs_parse_options(struct ecryptfs_sb_info *sbi, char *options, > char *fnek_src; > char *cipher_key_bytes_src; > char *fn_cipher_key_bytes_src; > + u8 cipher_code; > > *check_ruid = 0; > > @@ -420,6 +421,18 @@ static int ecryptfs_parse_options(struct ecryptfs_sb_info *sbi, char *options, > && !fn_cipher_key_bytes_set) > mount_crypt_stat->global_default_fn_cipher_key_bytes = > mount_crypt_stat->global_default_cipher_key_size; > + > + cipher_code = ecryptfs_code_for_cipher_string( > + mount_crypt_stat->global_default_cipher_name, > + mount_crypt_stat->global_default_cipher_key_size); > + if (!cipher_code) { > + ecryptfs_printk(KERN_ERR, > + "eCryptfs doesn't support cipher: %s.", > + mount_crypt_stat->global_default_cipher_name); > + rc = -EINVAL; > + goto out; > + } > + > mutex_lock(&key_tfm_list_mutex); > if (!ecryptfs_tfm_exists(mount_crypt_stat->global_default_cipher_name, > NULL)) { > -- > 1.7.10.4 > > -- > To unsubscribe from this list: send the line "unsubscribe ecryptfs" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html
Attachment:
signature.asc
Description: Digital signature