diff options
-rw-r--r-- | fs/ecryptfs/crypto.c | 17 | ||||
-rw-r--r-- | fs/ecryptfs/file.c | 8 | ||||
-rw-r--r-- | fs/ecryptfs/inode.c | 35 | ||||
-rw-r--r-- | fs/ecryptfs/keystore.c | 55 | ||||
-rw-r--r-- | fs/ecryptfs/main.c | 28 | ||||
-rw-r--r-- | fs/ecryptfs/messaging.c | 5 | ||||
-rw-r--r-- | fs/ecryptfs/mmap.c | 5 |
7 files changed, 89 insertions, 64 deletions
diff --git a/fs/ecryptfs/crypto.c b/fs/ecryptfs/crypto.c index 9127b809044d..e3d2118fafad 100644 --- a/fs/ecryptfs/crypto.c +++ b/fs/ecryptfs/crypto.c | |||
@@ -1277,8 +1277,8 @@ static int ecryptfs_read_header_region(char *data, struct dentry *dentry, | |||
1277 | mm_segment_t oldfs; | 1277 | mm_segment_t oldfs; |
1278 | int rc; | 1278 | int rc; |
1279 | 1279 | ||
1280 | if ((rc = ecryptfs_open_lower_file(&lower_file, dentry, mnt, | 1280 | rc = ecryptfs_open_lower_file(&lower_file, dentry, mnt, O_RDONLY); |
1281 | O_RDONLY))) { | 1281 | if (rc) { |
1282 | printk(KERN_ERR | 1282 | printk(KERN_ERR |
1283 | "Error opening lower_file to read header region\n"); | 1283 | "Error opening lower_file to read header region\n"); |
1284 | goto out; | 1284 | goto out; |
@@ -1289,7 +1289,8 @@ static int ecryptfs_read_header_region(char *data, struct dentry *dentry, | |||
1289 | rc = lower_file->f_op->read(lower_file, (char __user *)data, | 1289 | rc = lower_file->f_op->read(lower_file, (char __user *)data, |
1290 | ECRYPTFS_DEFAULT_EXTENT_SIZE, &lower_file->f_pos); | 1290 | ECRYPTFS_DEFAULT_EXTENT_SIZE, &lower_file->f_pos); |
1291 | set_fs(oldfs); | 1291 | set_fs(oldfs); |
1292 | if ((rc = ecryptfs_close_lower_file(lower_file))) { | 1292 | rc = ecryptfs_close_lower_file(lower_file); |
1293 | if (rc) { | ||
1293 | printk(KERN_ERR "Error closing lower_file\n"); | 1294 | printk(KERN_ERR "Error closing lower_file\n"); |
1294 | goto out; | 1295 | goto out; |
1295 | } | 1296 | } |
@@ -1951,9 +1952,10 @@ ecryptfs_add_new_key_tfm(struct ecryptfs_key_tfm **key_tfm, char *cipher_name, | |||
1951 | strncpy(tmp_tfm->cipher_name, cipher_name, | 1952 | strncpy(tmp_tfm->cipher_name, cipher_name, |
1952 | ECRYPTFS_MAX_CIPHER_NAME_SIZE); | 1953 | ECRYPTFS_MAX_CIPHER_NAME_SIZE); |
1953 | tmp_tfm->key_size = key_size; | 1954 | tmp_tfm->key_size = key_size; |
1954 | if ((rc = ecryptfs_process_key_cipher(&tmp_tfm->key_tfm, | 1955 | rc = ecryptfs_process_key_cipher(&tmp_tfm->key_tfm, |
1955 | tmp_tfm->cipher_name, | 1956 | tmp_tfm->cipher_name, |
1956 | &tmp_tfm->key_size))) { | 1957 | &tmp_tfm->key_size); |
1958 | if (rc) { | ||
1957 | printk(KERN_ERR "Error attempting to initialize key TFM " | 1959 | printk(KERN_ERR "Error attempting to initialize key TFM " |
1958 | "cipher with name = [%s]; rc = [%d]\n", | 1960 | "cipher with name = [%s]; rc = [%d]\n", |
1959 | tmp_tfm->cipher_name, rc); | 1961 | tmp_tfm->cipher_name, rc); |
@@ -1988,7 +1990,8 @@ int ecryptfs_get_tfm_and_mutex_for_cipher_name(struct crypto_blkcipher **tfm, | |||
1988 | } | 1990 | } |
1989 | } | 1991 | } |
1990 | mutex_unlock(&key_tfm_list_mutex); | 1992 | mutex_unlock(&key_tfm_list_mutex); |
1991 | if ((rc = ecryptfs_add_new_key_tfm(&key_tfm, cipher_name, 0))) { | 1993 | rc = ecryptfs_add_new_key_tfm(&key_tfm, cipher_name, 0); |
1994 | if (rc) { | ||
1992 | printk(KERN_ERR "Error adding new key_tfm to list; rc = [%d]\n", | 1995 | printk(KERN_ERR "Error adding new key_tfm to list; rc = [%d]\n", |
1993 | rc); | 1996 | rc); |
1994 | goto out; | 1997 | goto out; |
diff --git a/fs/ecryptfs/file.c b/fs/ecryptfs/file.c index 12ba7e3a69f9..59c846d29a8e 100644 --- a/fs/ecryptfs/file.c +++ b/fs/ecryptfs/file.c | |||
@@ -230,8 +230,9 @@ static int ecryptfs_open(struct inode *inode, struct file *file) | |||
230 | lower_flags &= ~O_APPEND; | 230 | lower_flags &= ~O_APPEND; |
231 | lower_mnt = ecryptfs_dentry_to_lower_mnt(ecryptfs_dentry); | 231 | lower_mnt = ecryptfs_dentry_to_lower_mnt(ecryptfs_dentry); |
232 | /* Corresponding fput() in ecryptfs_release() */ | 232 | /* Corresponding fput() in ecryptfs_release() */ |
233 | if ((rc = ecryptfs_open_lower_file(&lower_file, lower_dentry, lower_mnt, | 233 | rc = ecryptfs_open_lower_file(&lower_file, lower_dentry, lower_mnt, |
234 | lower_flags))) { | 234 | lower_flags); |
235 | if (rc) { | ||
235 | ecryptfs_printk(KERN_ERR, "Error opening lower file\n"); | 236 | ecryptfs_printk(KERN_ERR, "Error opening lower file\n"); |
236 | goto out_puts; | 237 | goto out_puts; |
237 | } | 238 | } |
@@ -300,7 +301,8 @@ static int ecryptfs_release(struct inode *inode, struct file *file) | |||
300 | struct inode *lower_inode = ecryptfs_inode_to_lower(inode); | 301 | struct inode *lower_inode = ecryptfs_inode_to_lower(inode); |
301 | int rc; | 302 | int rc; |
302 | 303 | ||
303 | if ((rc = ecryptfs_close_lower_file(lower_file))) { | 304 | rc = ecryptfs_close_lower_file(lower_file); |
305 | if (rc) { | ||
304 | printk(KERN_ERR "Error closing lower_file\n"); | 306 | printk(KERN_ERR "Error closing lower_file\n"); |
305 | goto out; | 307 | goto out; |
306 | } | 308 | } |
diff --git a/fs/ecryptfs/inode.c b/fs/ecryptfs/inode.c index abac91c58bfb..d70f5994ba51 100644 --- a/fs/ecryptfs/inode.c +++ b/fs/ecryptfs/inode.c | |||
@@ -202,8 +202,9 @@ static int ecryptfs_initialize_file(struct dentry *ecryptfs_dentry) | |||
202 | lower_flags = ((O_CREAT | O_TRUNC) & O_ACCMODE) | O_RDWR; | 202 | lower_flags = ((O_CREAT | O_TRUNC) & O_ACCMODE) | O_RDWR; |
203 | lower_mnt = ecryptfs_dentry_to_lower_mnt(ecryptfs_dentry); | 203 | lower_mnt = ecryptfs_dentry_to_lower_mnt(ecryptfs_dentry); |
204 | /* Corresponding fput() at end of this function */ | 204 | /* Corresponding fput() at end of this function */ |
205 | if ((rc = ecryptfs_open_lower_file(&lower_file, lower_dentry, lower_mnt, | 205 | rc = ecryptfs_open_lower_file(&lower_file, lower_dentry, lower_mnt, |
206 | lower_flags))) { | 206 | lower_flags); |
207 | if (rc) { | ||
207 | ecryptfs_printk(KERN_ERR, | 208 | ecryptfs_printk(KERN_ERR, |
208 | "Error opening dentry; rc = [%i]\n", rc); | 209 | "Error opening dentry; rc = [%i]\n", rc); |
209 | goto out; | 210 | goto out; |
@@ -229,7 +230,8 @@ static int ecryptfs_initialize_file(struct dentry *ecryptfs_dentry) | |||
229 | } | 230 | } |
230 | rc = grow_file(ecryptfs_dentry, lower_file, inode, lower_inode); | 231 | rc = grow_file(ecryptfs_dentry, lower_file, inode, lower_inode); |
231 | out_fput: | 232 | out_fput: |
232 | if ((rc = ecryptfs_close_lower_file(lower_file))) | 233 | rc = ecryptfs_close_lower_file(lower_file); |
234 | if (rc) | ||
233 | printk(KERN_ERR "Error closing lower_file\n"); | 235 | printk(KERN_ERR "Error closing lower_file\n"); |
234 | out: | 236 | out: |
235 | return rc; | 237 | return rc; |
@@ -779,8 +781,9 @@ int ecryptfs_truncate(struct dentry *dentry, loff_t new_length) | |||
779 | lower_dentry = ecryptfs_dentry_to_lower(dentry); | 781 | lower_dentry = ecryptfs_dentry_to_lower(dentry); |
780 | /* This dget & mntget is released through fput at out_fput: */ | 782 | /* This dget & mntget is released through fput at out_fput: */ |
781 | lower_mnt = ecryptfs_dentry_to_lower_mnt(dentry); | 783 | lower_mnt = ecryptfs_dentry_to_lower_mnt(dentry); |
782 | if ((rc = ecryptfs_open_lower_file(&lower_file, lower_dentry, lower_mnt, | 784 | rc = ecryptfs_open_lower_file(&lower_file, lower_dentry, lower_mnt, |
783 | O_RDWR))) { | 785 | O_RDWR); |
786 | if (rc) { | ||
784 | ecryptfs_printk(KERN_ERR, | 787 | ecryptfs_printk(KERN_ERR, |
785 | "Error opening dentry; rc = [%i]\n", rc); | 788 | "Error opening dentry; rc = [%i]\n", rc); |
786 | goto out_free; | 789 | goto out_free; |
@@ -813,11 +816,12 @@ int ecryptfs_truncate(struct dentry *dentry, loff_t new_length) | |||
813 | end_pos_in_page = ((new_length - 1) & ~PAGE_CACHE_MASK); | 816 | end_pos_in_page = ((new_length - 1) & ~PAGE_CACHE_MASK); |
814 | } | 817 | } |
815 | if (end_pos_in_page != (PAGE_CACHE_SIZE - 1)) { | 818 | if (end_pos_in_page != (PAGE_CACHE_SIZE - 1)) { |
816 | if ((rc = ecryptfs_write_zeros(&fake_ecryptfs_file, | 819 | rc = ecryptfs_write_zeros(&fake_ecryptfs_file, |
817 | index, | 820 | index, |
818 | (end_pos_in_page + 1), | 821 | (end_pos_in_page + 1), |
819 | ((PAGE_CACHE_SIZE - 1) | 822 | ((PAGE_CACHE_SIZE - 1) |
820 | - end_pos_in_page)))) { | 823 | - end_pos_in_page)); |
824 | if (rc) { | ||
821 | printk(KERN_ERR "Error attempting to zero out " | 825 | printk(KERN_ERR "Error attempting to zero out " |
822 | "the remainder of the end page on " | 826 | "the remainder of the end page on " |
823 | "reducing truncate; rc = [%d]\n", rc); | 827 | "reducing truncate; rc = [%d]\n", rc); |
@@ -849,7 +853,8 @@ int ecryptfs_truncate(struct dentry *dentry, loff_t new_length) | |||
849 | = CURRENT_TIME; | 853 | = CURRENT_TIME; |
850 | mark_inode_dirty_sync(inode); | 854 | mark_inode_dirty_sync(inode); |
851 | out_fput: | 855 | out_fput: |
852 | if ((rc = ecryptfs_close_lower_file(lower_file))) | 856 | rc = ecryptfs_close_lower_file(lower_file); |
857 | if (rc) | ||
853 | printk(KERN_ERR "Error closing lower_file\n"); | 858 | printk(KERN_ERR "Error closing lower_file\n"); |
854 | out_free: | 859 | out_free: |
855 | if (ecryptfs_file_to_private(&fake_ecryptfs_file)) | 860 | if (ecryptfs_file_to_private(&fake_ecryptfs_file)) |
@@ -917,8 +922,9 @@ static int ecryptfs_setattr(struct dentry *dentry, struct iattr *ia) | |||
917 | 922 | ||
918 | lower_mnt = ecryptfs_dentry_to_lower_mnt(dentry); | 923 | lower_mnt = ecryptfs_dentry_to_lower_mnt(dentry); |
919 | lower_flags = O_RDONLY; | 924 | lower_flags = O_RDONLY; |
920 | if ((rc = ecryptfs_open_lower_file(&lower_file, lower_dentry, | 925 | rc = ecryptfs_open_lower_file(&lower_file, lower_dentry, |
921 | lower_mnt, lower_flags))) { | 926 | lower_mnt, lower_flags); |
927 | if (rc) { | ||
922 | printk(KERN_ERR | 928 | printk(KERN_ERR |
923 | "Error opening lower file; rc = [%d]\n", rc); | 929 | "Error opening lower file; rc = [%d]\n", rc); |
924 | mutex_unlock(&crypt_stat->cs_mutex); | 930 | mutex_unlock(&crypt_stat->cs_mutex); |
@@ -926,7 +932,8 @@ static int ecryptfs_setattr(struct dentry *dentry, struct iattr *ia) | |||
926 | } | 932 | } |
927 | mount_crypt_stat = &ecryptfs_superblock_to_private( | 933 | mount_crypt_stat = &ecryptfs_superblock_to_private( |
928 | dentry->d_sb)->mount_crypt_stat; | 934 | dentry->d_sb)->mount_crypt_stat; |
929 | if ((rc = ecryptfs_read_metadata(dentry, lower_file))) { | 935 | rc = ecryptfs_read_metadata(dentry, lower_file); |
936 | if (rc) { | ||
930 | if (!(mount_crypt_stat->flags | 937 | if (!(mount_crypt_stat->flags |
931 | & ECRYPTFS_PLAINTEXT_PASSTHROUGH_ENABLED)) { | 938 | & ECRYPTFS_PLAINTEXT_PASSTHROUGH_ENABLED)) { |
932 | rc = -EIO; | 939 | rc = -EIO; |
diff --git a/fs/ecryptfs/keystore.c b/fs/ecryptfs/keystore.c index 09e2340ab783..89d9710dd63d 100644 --- a/fs/ecryptfs/keystore.c +++ b/fs/ecryptfs/keystore.c | |||
@@ -436,7 +436,8 @@ decrypt_pki_encrypted_session_key(struct ecryptfs_auth_tok *auth_tok, | |||
436 | size_t netlink_message_length; | 436 | size_t netlink_message_length; |
437 | int rc; | 437 | int rc; |
438 | 438 | ||
439 | if ((rc = ecryptfs_get_auth_tok_sig(&auth_tok_sig, auth_tok))) { | 439 | rc = ecryptfs_get_auth_tok_sig(&auth_tok_sig, auth_tok); |
440 | if (rc) { | ||
440 | printk(KERN_ERR "Unrecognized auth tok type: [%d]\n", | 441 | printk(KERN_ERR "Unrecognized auth tok type: [%d]\n", |
441 | auth_tok->token_type); | 442 | auth_tok->token_type); |
442 | goto out; | 443 | goto out; |
@@ -569,8 +570,9 @@ parse_tag_1_packet(struct ecryptfs_crypt_stat *crypt_stat, | |||
569 | goto out; | 570 | goto out; |
570 | } | 571 | } |
571 | (*new_auth_tok) = &auth_tok_list_item->auth_tok; | 572 | (*new_auth_tok) = &auth_tok_list_item->auth_tok; |
572 | if ((rc = parse_packet_length(&data[(*packet_size)], &body_size, | 573 | rc = parse_packet_length(&data[(*packet_size)], &body_size, |
573 | &length_size))) { | 574 | &length_size); |
575 | if (rc) { | ||
574 | printk(KERN_WARNING "Error parsing packet length; " | 576 | printk(KERN_WARNING "Error parsing packet length; " |
575 | "rc = [%d]\n", rc); | 577 | "rc = [%d]\n", rc); |
576 | goto out_free; | 578 | goto out_free; |
@@ -702,8 +704,9 @@ parse_tag_3_packet(struct ecryptfs_crypt_stat *crypt_stat, | |||
702 | goto out; | 704 | goto out; |
703 | } | 705 | } |
704 | (*new_auth_tok) = &auth_tok_list_item->auth_tok; | 706 | (*new_auth_tok) = &auth_tok_list_item->auth_tok; |
705 | if ((rc = parse_packet_length(&data[(*packet_size)], &body_size, | 707 | rc = parse_packet_length(&data[(*packet_size)], &body_size, |
706 | &length_size))) { | 708 | &length_size); |
709 | if (rc) { | ||
707 | printk(KERN_WARNING "Error parsing packet length; rc = [%d]\n", | 710 | printk(KERN_WARNING "Error parsing packet length; rc = [%d]\n", |
708 | rc); | 711 | rc); |
709 | goto out_free; | 712 | goto out_free; |
@@ -849,8 +852,9 @@ parse_tag_11_packet(unsigned char *data, unsigned char *contents, | |||
849 | rc = -EINVAL; | 852 | rc = -EINVAL; |
850 | goto out; | 853 | goto out; |
851 | } | 854 | } |
852 | if ((rc = parse_packet_length(&data[(*packet_size)], &body_size, | 855 | rc = parse_packet_length(&data[(*packet_size)], &body_size, |
853 | &length_size))) { | 856 | &length_size); |
857 | if (rc) { | ||
854 | printk(KERN_WARNING "Invalid tag 11 packet format\n"); | 858 | printk(KERN_WARNING "Invalid tag 11 packet format\n"); |
855 | goto out; | 859 | goto out; |
856 | } | 860 | } |
@@ -1052,9 +1056,10 @@ decrypt_passphrase_encrypted_session_key(struct ecryptfs_auth_tok *auth_tok, | |||
1052 | crypt_stat->cipher, rc); | 1056 | crypt_stat->cipher, rc); |
1053 | goto out; | 1057 | goto out; |
1054 | } | 1058 | } |
1055 | if ((rc = virt_to_scatterlist(auth_tok->session_key.encrypted_key, | 1059 | rc = virt_to_scatterlist(auth_tok->session_key.encrypted_key, |
1056 | auth_tok->session_key.encrypted_key_size, | 1060 | auth_tok->session_key.encrypted_key_size, |
1057 | &src_sg, 1)) != 1) { | 1061 | &src_sg, 1); |
1062 | if (rc != 1) { | ||
1058 | printk(KERN_ERR "Internal error whilst attempting to convert " | 1063 | printk(KERN_ERR "Internal error whilst attempting to convert " |
1059 | "auth_tok->session_key.encrypted_key to scatterlist; " | 1064 | "auth_tok->session_key.encrypted_key to scatterlist; " |
1060 | "expected rc = 1; got rc = [%d]. " | 1065 | "expected rc = 1; got rc = [%d]. " |
@@ -1064,9 +1069,10 @@ decrypt_passphrase_encrypted_session_key(struct ecryptfs_auth_tok *auth_tok, | |||
1064 | } | 1069 | } |
1065 | auth_tok->session_key.decrypted_key_size = | 1070 | auth_tok->session_key.decrypted_key_size = |
1066 | auth_tok->session_key.encrypted_key_size; | 1071 | auth_tok->session_key.encrypted_key_size; |
1067 | if ((rc = virt_to_scatterlist(auth_tok->session_key.decrypted_key, | 1072 | rc = virt_to_scatterlist(auth_tok->session_key.decrypted_key, |
1068 | auth_tok->session_key.decrypted_key_size, | 1073 | auth_tok->session_key.decrypted_key_size, |
1069 | &dst_sg, 1)) != 1) { | 1074 | &dst_sg, 1); |
1075 | if (rc != 1) { | ||
1070 | printk(KERN_ERR "Internal error whilst attempting to convert " | 1076 | printk(KERN_ERR "Internal error whilst attempting to convert " |
1071 | "auth_tok->session_key.decrypted_key to scatterlist; " | 1077 | "auth_tok->session_key.decrypted_key to scatterlist; " |
1072 | "expected rc = 1; got rc = [%d]\n", rc); | 1078 | "expected rc = 1; got rc = [%d]\n", rc); |
@@ -1236,18 +1242,17 @@ find_next_matching_auth_tok: | |||
1236 | "Considering cadidate auth tok:\n"); | 1242 | "Considering cadidate auth tok:\n"); |
1237 | ecryptfs_dump_auth_tok(candidate_auth_tok); | 1243 | ecryptfs_dump_auth_tok(candidate_auth_tok); |
1238 | } | 1244 | } |
1239 | if ((rc = ecryptfs_get_auth_tok_sig(&candidate_auth_tok_sig, | 1245 | rc = ecryptfs_get_auth_tok_sig(&candidate_auth_tok_sig, |
1240 | candidate_auth_tok))) { | 1246 | candidate_auth_tok); |
1247 | if (rc) { | ||
1241 | printk(KERN_ERR | 1248 | printk(KERN_ERR |
1242 | "Unrecognized candidate auth tok type: [%d]\n", | 1249 | "Unrecognized candidate auth tok type: [%d]\n", |
1243 | candidate_auth_tok->token_type); | 1250 | candidate_auth_tok->token_type); |
1244 | rc = -EINVAL; | 1251 | rc = -EINVAL; |
1245 | goto out_wipe_list; | 1252 | goto out_wipe_list; |
1246 | } | 1253 | } |
1247 | if ((rc = ecryptfs_find_auth_tok_for_sig( | 1254 | ecryptfs_find_auth_tok_for_sig(&matching_auth_tok, crypt_stat, |
1248 | &matching_auth_tok, crypt_stat, | 1255 | candidate_auth_tok_sig); |
1249 | candidate_auth_tok_sig))) | ||
1250 | rc = 0; | ||
1251 | if (matching_auth_tok) { | 1256 | if (matching_auth_tok) { |
1252 | found_auth_tok = 1; | 1257 | found_auth_tok = 1; |
1253 | goto found_matching_auth_tok; | 1258 | goto found_matching_auth_tok; |
@@ -1605,9 +1610,9 @@ write_tag_3_packet(char *dest, size_t *remaining_bytes, | |||
1605 | ecryptfs_printk(KERN_DEBUG, "Session key encryption key:\n"); | 1610 | ecryptfs_printk(KERN_DEBUG, "Session key encryption key:\n"); |
1606 | ecryptfs_dump_hex(session_key_encryption_key, 16); | 1611 | ecryptfs_dump_hex(session_key_encryption_key, 16); |
1607 | } | 1612 | } |
1608 | if ((rc = virt_to_scatterlist(crypt_stat->key, | 1613 | rc = virt_to_scatterlist(crypt_stat->key, key_rec->enc_key_size, |
1609 | key_rec->enc_key_size, &src_sg, 1)) | 1614 | &src_sg, 1); |
1610 | != 1) { | 1615 | if (rc != 1) { |
1611 | ecryptfs_printk(KERN_ERR, "Error generating scatterlist " | 1616 | ecryptfs_printk(KERN_ERR, "Error generating scatterlist " |
1612 | "for crypt_stat session key; expected rc = 1; " | 1617 | "for crypt_stat session key; expected rc = 1; " |
1613 | "got rc = [%d]. key_rec->enc_key_size = [%d]\n", | 1618 | "got rc = [%d]. key_rec->enc_key_size = [%d]\n", |
@@ -1615,9 +1620,9 @@ write_tag_3_packet(char *dest, size_t *remaining_bytes, | |||
1615 | rc = -ENOMEM; | 1620 | rc = -ENOMEM; |
1616 | goto out; | 1621 | goto out; |
1617 | } | 1622 | } |
1618 | if ((rc = virt_to_scatterlist(key_rec->enc_key, | 1623 | rc = virt_to_scatterlist(key_rec->enc_key, key_rec->enc_key_size, |
1619 | key_rec->enc_key_size, &dst_sg, 1)) | 1624 | &dst_sg, 1); |
1620 | != 1) { | 1625 | if (rc != 1) { |
1621 | ecryptfs_printk(KERN_ERR, "Error generating scatterlist " | 1626 | ecryptfs_printk(KERN_ERR, "Error generating scatterlist " |
1622 | "for crypt_stat encrypted session key; " | 1627 | "for crypt_stat encrypted session key; " |
1623 | "expected rc = 1; got rc = [%d]. " | 1628 | "expected rc = 1; got rc = [%d]. " |
diff --git a/fs/ecryptfs/main.c b/fs/ecryptfs/main.c index d4f00bbbcdc5..00686f1c5997 100644 --- a/fs/ecryptfs/main.c +++ b/fs/ecryptfs/main.c | |||
@@ -188,10 +188,11 @@ static int ecryptfs_init_global_auth_toks( | |||
188 | list_for_each_entry(global_auth_tok, | 188 | list_for_each_entry(global_auth_tok, |
189 | &mount_crypt_stat->global_auth_tok_list, | 189 | &mount_crypt_stat->global_auth_tok_list, |
190 | mount_crypt_stat_list) { | 190 | mount_crypt_stat_list) { |
191 | if ((rc = ecryptfs_keyring_auth_tok_for_sig( | 191 | rc = ecryptfs_keyring_auth_tok_for_sig( |
192 | &global_auth_tok->global_auth_tok_key, | 192 | &global_auth_tok->global_auth_tok_key, |
193 | &global_auth_tok->global_auth_tok, | 193 | &global_auth_tok->global_auth_tok, |
194 | global_auth_tok->sig))) { | 194 | global_auth_tok->sig); |
195 | if (rc) { | ||
195 | printk(KERN_ERR "Could not find valid key in user " | 196 | printk(KERN_ERR "Could not find valid key in user " |
196 | "session keyring for sig specified in mount " | 197 | "session keyring for sig specified in mount " |
197 | "option: [%s]\n", global_auth_tok->sig); | 198 | "option: [%s]\n", global_auth_tok->sig); |
@@ -355,9 +356,10 @@ static int ecryptfs_parse_options(struct super_block *sb, char *options) | |||
355 | if (!cipher_key_bytes_set) { | 356 | if (!cipher_key_bytes_set) { |
356 | mount_crypt_stat->global_default_cipher_key_size = 0; | 357 | mount_crypt_stat->global_default_cipher_key_size = 0; |
357 | } | 358 | } |
358 | if ((rc = ecryptfs_add_new_key_tfm( | 359 | rc = ecryptfs_add_new_key_tfm( |
359 | NULL, mount_crypt_stat->global_default_cipher_name, | 360 | NULL, mount_crypt_stat->global_default_cipher_name, |
360 | mount_crypt_stat->global_default_cipher_key_size))) { | 361 | mount_crypt_stat->global_default_cipher_key_size); |
362 | if (rc) { | ||
361 | printk(KERN_ERR "Error attempting to initialize cipher with " | 363 | printk(KERN_ERR "Error attempting to initialize cipher with " |
362 | "name = [%s] and key size = [%td]; rc = [%d]\n", | 364 | "name = [%s] and key size = [%td]; rc = [%d]\n", |
363 | mount_crypt_stat->global_default_cipher_name, | 365 | mount_crypt_stat->global_default_cipher_name, |
@@ -365,7 +367,8 @@ static int ecryptfs_parse_options(struct super_block *sb, char *options) | |||
365 | rc = -EINVAL; | 367 | rc = -EINVAL; |
366 | goto out; | 368 | goto out; |
367 | } | 369 | } |
368 | if ((rc = ecryptfs_init_global_auth_toks(mount_crypt_stat))) { | 370 | rc = ecryptfs_init_global_auth_toks(mount_crypt_stat); |
371 | if (rc) { | ||
369 | printk(KERN_WARNING "One or more global auth toks could not " | 372 | printk(KERN_WARNING "One or more global auth toks could not " |
370 | "properly register; rc = [%d]\n", rc); | 373 | "properly register; rc = [%d]\n", rc); |
371 | } | 374 | } |
@@ -458,7 +461,8 @@ static int ecryptfs_read_super(struct super_block *sb, const char *dev_name) | |||
458 | sb->s_maxbytes = lower_root->d_sb->s_maxbytes; | 461 | sb->s_maxbytes = lower_root->d_sb->s_maxbytes; |
459 | ecryptfs_set_dentry_lower(sb->s_root, lower_root); | 462 | ecryptfs_set_dentry_lower(sb->s_root, lower_root); |
460 | ecryptfs_set_dentry_lower_mnt(sb->s_root, lower_mnt); | 463 | ecryptfs_set_dentry_lower_mnt(sb->s_root, lower_mnt); |
461 | if ((rc = ecryptfs_interpose(lower_root, sb->s_root, sb, 0))) | 464 | rc = ecryptfs_interpose(lower_root, sb->s_root, sb, 0); |
465 | if (rc) | ||
462 | goto out_free; | 466 | goto out_free; |
463 | rc = 0; | 467 | rc = 0; |
464 | goto out; | 468 | goto out; |
@@ -765,7 +769,8 @@ static int do_sysfs_registration(void) | |||
765 | { | 769 | { |
766 | int rc; | 770 | int rc; |
767 | 771 | ||
768 | if ((rc = subsystem_register(&ecryptfs_subsys))) { | 772 | rc = subsystem_register(&ecryptfs_subsys); |
773 | if (rc) { | ||
769 | printk(KERN_ERR | 774 | printk(KERN_ERR |
770 | "Unable to register ecryptfs sysfs subsystem\n"); | 775 | "Unable to register ecryptfs sysfs subsystem\n"); |
771 | goto out; | 776 | goto out; |
@@ -796,7 +801,8 @@ static void do_sysfs_unregistration(void) | |||
796 | { | 801 | { |
797 | int rc; | 802 | int rc; |
798 | 803 | ||
799 | if ((rc = ecryptfs_destroy_crypto())) { | 804 | rc = ecryptfs_destroy_crypto(); |
805 | if (rc) { | ||
800 | printk(KERN_ERR "Failure whilst attempting to destroy crypto; " | 806 | printk(KERN_ERR "Failure whilst attempting to destroy crypto; " |
801 | "rc = [%d]\n", rc); | 807 | "rc = [%d]\n", rc); |
802 | } | 808 | } |
diff --git a/fs/ecryptfs/messaging.c b/fs/ecryptfs/messaging.c index a9d87c47f72d..a96d341d154d 100644 --- a/fs/ecryptfs/messaging.c +++ b/fs/ecryptfs/messaging.c | |||
@@ -419,8 +419,9 @@ int ecryptfs_init_messaging(unsigned int transport) | |||
419 | } | 419 | } |
420 | mutex_init(&ecryptfs_daemon_id_hash_mux); | 420 | mutex_init(&ecryptfs_daemon_id_hash_mux); |
421 | mutex_lock(&ecryptfs_daemon_id_hash_mux); | 421 | mutex_lock(&ecryptfs_daemon_id_hash_mux); |
422 | ecryptfs_hash_buckets = 0; | 422 | ecryptfs_hash_buckets = 1; |
423 | while (ecryptfs_number_of_users >> ++ecryptfs_hash_buckets); | 423 | while (ecryptfs_number_of_users >> ecryptfs_hash_buckets) |
424 | ecryptfs_hash_buckets++; | ||
424 | ecryptfs_daemon_id_hash = kmalloc(sizeof(struct hlist_head) | 425 | ecryptfs_daemon_id_hash = kmalloc(sizeof(struct hlist_head) |
425 | * ecryptfs_hash_buckets, GFP_KERNEL); | 426 | * ecryptfs_hash_buckets, GFP_KERNEL); |
426 | if (!ecryptfs_daemon_id_hash) { | 427 | if (!ecryptfs_daemon_id_hash) { |
diff --git a/fs/ecryptfs/mmap.c b/fs/ecryptfs/mmap.c index 89dbbbbcce07..307f7ee77420 100644 --- a/fs/ecryptfs/mmap.c +++ b/fs/ecryptfs/mmap.c | |||
@@ -762,8 +762,9 @@ ecryptfs_write_zeros(struct file *file, pgoff_t index, int start, int num_zeros) | |||
762 | rc = PTR_ERR(tmp_page); | 762 | rc = PTR_ERR(tmp_page); |
763 | goto out; | 763 | goto out; |
764 | } | 764 | } |
765 | if ((rc = ecryptfs_prepare_write_no_truncate(file, tmp_page, start, | 765 | rc = ecryptfs_prepare_write_no_truncate(file, tmp_page, start, |
766 | (start + num_zeros)))) { | 766 | (start + num_zeros)); |
767 | if (rc) { | ||
767 | ecryptfs_printk(KERN_ERR, "Error preparing to write zero's " | 768 | ecryptfs_printk(KERN_ERR, "Error preparing to write zero's " |
768 | "to page at index [0x%.16x]\n", | 769 | "to page at index [0x%.16x]\n", |
769 | index); | 770 | index); |