The patch titled ecryptfs: add ecryptfs_ prefix to mount options; key size parameter has been removed from the -mm tree. Its filename is ecryptfs-add-ecryptfs_-prefix-to-mount-options-key-size-parameter.patch This patch was dropped because it was folded into ecryptfs-fs-makefile-and-fs-kconfig.patch ------------------------------------------------------ Subject: ecryptfs: add ecryptfs_ prefix to mount options; key size parameter From: Mike Halcrow <mhalcrow@xxxxxxxxxx> Add ecryptfs_ prefix to ecryptfs-specific mount options to avoid conflicts from changes to /bin/mount. Debian's addition of ``keybits'' in its mount program left us scratching our heads when we happened to pick the exact same parameter name at first for this patch. This patch includes an aptly-named parameter to set the number of key bytes. Signed-off-by: Michael Halcrow <mhalcrow@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxx> --- fs/ecryptfs/ecryptfs_kernel.h | 1 fs/ecryptfs/main.c | 36 +++++++++++++++++++++++++++++++- 2 files changed, 36 insertions(+), 1 deletion(-) diff -puN fs/ecryptfs/ecryptfs_kernel.h~ecryptfs-add-ecryptfs_-prefix-to-mount-options-key-size-parameter fs/ecryptfs/ecryptfs_kernel.h --- 25/fs/ecryptfs/ecryptfs_kernel.h~ecryptfs-add-ecryptfs_-prefix-to-mount-options-key-size-parameter Tue Jun 20 17:37:33 2006 +++ 25-akpm/fs/ecryptfs/ecryptfs_kernel.h Tue Jun 20 17:37:33 2006 @@ -220,6 +220,7 @@ struct ecryptfs_mount_crypt_stat { /* Pointers to memory we do not own, do not free these */ struct ecryptfs_auth_tok *global_auth_tok; struct key *global_auth_tok_key; + unsigned int global_default_cipher_key_bits; unsigned char global_default_cipher_name[ECRYPTFS_MAX_CIPHER_NAME_SIZE + 1]; unsigned char global_auth_tok_sig[ECRYPTFS_SIG_SIZE_HEX + 1]; diff -puN fs/ecryptfs/main.c~ecryptfs-add-ecryptfs_-prefix-to-mount-options-key-size-parameter fs/ecryptfs/main.c --- 25/fs/ecryptfs/main.c~ecryptfs-add-ecryptfs_-prefix-to-mount-options-key-size-parameter Tue Jun 20 17:37:33 2006 +++ 25-akpm/fs/ecryptfs/main.c Tue Jun 20 17:37:33 2006 @@ -125,13 +125,19 @@ out: return rc; } -enum { ecryptfs_opt_sig, ecryptfs_opt_debug, ecryptfs_opt_cipher, +enum { ecryptfs_opt_sig, ecryptfs_opt_ecryptfs_sig, ecryptfs_opt_debug, + ecryptfs_opt_ecryptfs_debug, ecryptfs_opt_cipher, + ecryptfs_opt_ecryptfs_cipher, ecryptfs_opt_ecryptfs_key_bytes, ecryptfs_opt_err }; static match_table_t tokens = { {ecryptfs_opt_sig, "sig=%s"}, + {ecryptfs_opt_ecryptfs_sig, "ecryptfs_sig=%s"}, {ecryptfs_opt_debug, "debug=%u"}, + {ecryptfs_opt_ecryptfs_debug, "ecryptfs_debug=%u"}, {ecryptfs_opt_cipher, "cipher=%s"}, + {ecryptfs_opt_ecryptfs_cipher, "ecryptfs_cipher=%s"}, + {ecryptfs_opt_ecryptfs_key_bytes, "ecryptfs_key_bytes=%u"}, {ecryptfs_opt_err, NULL} }; @@ -192,6 +198,8 @@ static int ecryptfs_parse_options(struct int rc = 0; int sig_set = 0; int cipher_name_set = 0; + int cipher_key_bytes; + int cipher_key_bytes_set = 0; struct key *auth_tok_key = NULL; struct ecryptfs_auth_tok *auth_tok = NULL; struct ecryptfs_mount_crypt_stat *mount_crypt_stat = @@ -203,6 +211,7 @@ static int ecryptfs_parse_options(struct char *debug_src; char *cipher_name_dst; char *cipher_name_src; + char *cipher_key_bytes_src; int cipher_name_len; if (!options) { @@ -215,6 +224,7 @@ static int ecryptfs_parse_options(struct token = match_token(p, tokens, args); switch (token) { case ecryptfs_opt_sig: + case ecryptfs_opt_ecryptfs_sig: sig_src = args[0].from; sig_dst = mount_crypt_stat->global_auth_tok_sig; @@ -227,6 +237,7 @@ static int ecryptfs_parse_options(struct sig_set = 1; break; case ecryptfs_opt_debug: + case ecryptfs_opt_ecryptfs_debug: debug_src = args[0].from; ecryptfs_verbosity = (int)simple_strtol(debug_src, &debug_src, @@ -236,6 +247,7 @@ static int ecryptfs_parse_options(struct ecryptfs_verbosity); break; case ecryptfs_opt_cipher: + case ecryptfs_opt_ecryptfs_cipher: cipher_name_src = args[0].from; cipher_name_dst = mount_crypt_stat-> @@ -248,6 +260,20 @@ static int ecryptfs_parse_options(struct "[%s]\n", cipher_name_dst); cipher_name_set = 1; break; + case ecryptfs_opt_ecryptfs_key_bytes: + cipher_key_bytes_src = args[0].from; + cipher_key_bytes = + (int)simple_strtol(cipher_key_bytes_src, + &cipher_key_bytes_src, 0); + mount_crypt_stat->global_default_cipher_key_bits = + cipher_key_bytes << 3; + ecryptfs_printk(KERN_DEBUG, + "The mount_crypt_stat " + "global_default_cipher_key_bits " + "set to: [%d]\n", mount_crypt_stat-> + global_default_cipher_key_bits); + cipher_key_bytes_set = 1; + break; case ecryptfs_opt_err: default: ecryptfs_printk(KERN_WARNING, @@ -277,6 +303,14 @@ static int ecryptfs_parse_options(struct mount_crypt_stat->global_default_cipher_name[cipher_name_len] = '\0'; } + if (!cipher_key_bytes_set) { + mount_crypt_stat->global_default_cipher_key_bits = + ECRYPTFS_DEFAULT_KEY_BYTES << 3; + ecryptfs_printk(KERN_DEBUG, "Cipher key bits were not " + "specified. Defaulting to [%d]\n", + mount_crypt_stat-> + global_default_cipher_key_bits); + } ecryptfs_printk(KERN_DEBUG, "Requesting the key with description: " "[%s]\n", mount_crypt_stat->global_auth_tok_sig); /* The reference to this key is held until umount is done The _ Patches currently in -mm which might be from mhalcrow@xxxxxxxxxx are origin.patch ecryptfs-fs-makefile-and-fs-kconfig.patch ecryptfs-add-ecryptfs_-prefix-to-mount-options-key-size-parameter.patch ecryptfs-set-the-key-size-from-the-default-for-the-mount.patch ecryptfs-check-for-weak-keys.patch ecryptfs-add-define-values-for-cipher-codes-from-rfc2440-openpgp.patch ecryptfs-convert-bits-to-bytes.patch ecryptfs-more-elegant-aes-key-size-manipulation.patch ecryptfs-more-intelligent-use-of-tfm-objects.patch ecryptfs-remove-debugging-cruft.patch ecryptfs-get_sb_dev-fix.patch ecryptfs-validate-minimum-header-extent-size.patch ecryptfs-validate-body-size.patch ecryptfs-validate-packet-length-prior-to-parsing-add-comments.patch ecryptfs-use-the-passed-in-max-value-as-the-upper-bound.patch ecryptfs-change-the-maximum-size-check-when-writing-header.patch ecryptfs-print-the-actual-option-that-is-problematic.patch ecryptfs-add-a-maintainers-entry.patch ecryptfs-partial-signed-integer-to-size_t-conversion-updated-ii.patch ecryptfs-graceful-handling-of-mount-error.patch ecryptfs-fix-printk-format-warnings.patch ecryptfs-associate-vfsmount-with-dentry-rather-than-superblock.patch ecryptfs-mntput-lower-mount-on-umount_begin.patch vfs-make-filldir_t-and-struct-kstat-deal-in-64-bit-inode-numbers-ecryptfs.patch make-kmem_cache_destroy-return-void-ecryptfs.patch ecryptfs-inode-numbering-fixes.patch ecryptfs-versioning-fixes.patch ecryptfs-versioning-fixes-tidy.patch ecryptfs-grab-lock-on-lower_page-in-ecryptfs_sync_page.patch ecryptfs-enable-plaintext-passthrough.patch - To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html