diff options
Diffstat (limited to 'fs/ecryptfs')
-rw-r--r-- | fs/ecryptfs/crypto.c | 4 | ||||
-rw-r--r-- | fs/ecryptfs/file.c | 3 | ||||
-rw-r--r-- | fs/ecryptfs/inode.c | 5 | ||||
-rw-r--r-- | fs/ecryptfs/keystore.c | 4 | ||||
-rw-r--r-- | fs/ecryptfs/main.c | 8 |
5 files changed, 8 insertions, 16 deletions
diff --git a/fs/ecryptfs/crypto.c b/fs/ecryptfs/crypto.c index a86a55ccf874..75bbfae55081 100644 --- a/fs/ecryptfs/crypto.c +++ b/fs/ecryptfs/crypto.c | |||
@@ -1332,13 +1332,13 @@ int ecryptfs_write_headers(struct dentry *ecryptfs_dentry, | |||
1332 | goto out; | 1332 | goto out; |
1333 | } | 1333 | } |
1334 | /* Released in this function */ | 1334 | /* Released in this function */ |
1335 | page_virt = kmem_cache_alloc(ecryptfs_header_cache_0, GFP_USER); | 1335 | page_virt = kmem_cache_zalloc(ecryptfs_header_cache_0, GFP_USER); |
1336 | if (!page_virt) { | 1336 | if (!page_virt) { |
1337 | ecryptfs_printk(KERN_ERR, "Out of memory\n"); | 1337 | ecryptfs_printk(KERN_ERR, "Out of memory\n"); |
1338 | rc = -ENOMEM; | 1338 | rc = -ENOMEM; |
1339 | goto out; | 1339 | goto out; |
1340 | } | 1340 | } |
1341 | memset(page_virt, 0, PAGE_CACHE_SIZE); | 1341 | |
1342 | rc = ecryptfs_write_headers_virt(page_virt, crypt_stat, | 1342 | rc = ecryptfs_write_headers_virt(page_virt, crypt_stat, |
1343 | ecryptfs_dentry); | 1343 | ecryptfs_dentry); |
1344 | if (unlikely(rc)) { | 1344 | if (unlikely(rc)) { |
diff --git a/fs/ecryptfs/file.c b/fs/ecryptfs/file.c index c5a2e5298f15..779c3477d93c 100644 --- a/fs/ecryptfs/file.c +++ b/fs/ecryptfs/file.c | |||
@@ -251,7 +251,7 @@ static int ecryptfs_open(struct inode *inode, struct file *file) | |||
251 | int lower_flags; | 251 | int lower_flags; |
252 | 252 | ||
253 | /* Released in ecryptfs_release or end of function if failure */ | 253 | /* Released in ecryptfs_release or end of function if failure */ |
254 | file_info = kmem_cache_alloc(ecryptfs_file_info_cache, GFP_KERNEL); | 254 | file_info = kmem_cache_zalloc(ecryptfs_file_info_cache, GFP_KERNEL); |
255 | ecryptfs_set_file_private(file, file_info); | 255 | ecryptfs_set_file_private(file, file_info); |
256 | if (!file_info) { | 256 | if (!file_info) { |
257 | ecryptfs_printk(KERN_ERR, | 257 | ecryptfs_printk(KERN_ERR, |
@@ -259,7 +259,6 @@ static int ecryptfs_open(struct inode *inode, struct file *file) | |||
259 | rc = -ENOMEM; | 259 | rc = -ENOMEM; |
260 | goto out; | 260 | goto out; |
261 | } | 261 | } |
262 | memset(file_info, 0, sizeof(*file_info)); | ||
263 | lower_dentry = ecryptfs_dentry_to_lower(ecryptfs_dentry); | 262 | lower_dentry = ecryptfs_dentry_to_lower(ecryptfs_dentry); |
264 | crypt_stat = &ecryptfs_inode_to_private(inode)->crypt_stat; | 263 | crypt_stat = &ecryptfs_inode_to_private(inode)->crypt_stat; |
265 | mount_crypt_stat = &ecryptfs_superblock_to_private( | 264 | mount_crypt_stat = &ecryptfs_superblock_to_private( |
diff --git a/fs/ecryptfs/inode.c b/fs/ecryptfs/inode.c index 11f5e5076aef..d4f02f3e18d7 100644 --- a/fs/ecryptfs/inode.c +++ b/fs/ecryptfs/inode.c | |||
@@ -361,8 +361,7 @@ static struct dentry *ecryptfs_lookup(struct inode *dir, struct dentry *dentry, | |||
361 | goto out; | 361 | goto out; |
362 | } | 362 | } |
363 | /* Released in this function */ | 363 | /* Released in this function */ |
364 | page_virt = | 364 | page_virt = kmem_cache_zalloc(ecryptfs_header_cache_2, |
365 | (char *)kmem_cache_alloc(ecryptfs_header_cache_2, | ||
366 | GFP_USER); | 365 | GFP_USER); |
367 | if (!page_virt) { | 366 | if (!page_virt) { |
368 | rc = -ENOMEM; | 367 | rc = -ENOMEM; |
@@ -370,7 +369,7 @@ static struct dentry *ecryptfs_lookup(struct inode *dir, struct dentry *dentry, | |||
370 | "Cannot ecryptfs_kmalloc a page\n"); | 369 | "Cannot ecryptfs_kmalloc a page\n"); |
371 | goto out_dput; | 370 | goto out_dput; |
372 | } | 371 | } |
373 | memset(page_virt, 0, PAGE_CACHE_SIZE); | 372 | |
374 | rc = ecryptfs_read_header_region(page_virt, lower_dentry, nd->mnt); | 373 | rc = ecryptfs_read_header_region(page_virt, lower_dentry, nd->mnt); |
375 | crypt_stat = &ecryptfs_inode_to_private(dentry->d_inode)->crypt_stat; | 374 | crypt_stat = &ecryptfs_inode_to_private(dentry->d_inode)->crypt_stat; |
376 | if (!ECRYPTFS_CHECK_FLAG(crypt_stat->flags, ECRYPTFS_POLICY_APPLIED)) | 375 | if (!ECRYPTFS_CHECK_FLAG(crypt_stat->flags, ECRYPTFS_POLICY_APPLIED)) |
diff --git a/fs/ecryptfs/keystore.c b/fs/ecryptfs/keystore.c index 745c0f1bfbbd..80bccd5ff8e6 100644 --- a/fs/ecryptfs/keystore.c +++ b/fs/ecryptfs/keystore.c | |||
@@ -207,14 +207,12 @@ parse_tag_3_packet(struct ecryptfs_crypt_stat *crypt_stat, | |||
207 | /* Released: wipe_auth_tok_list called in ecryptfs_parse_packet_set or | 207 | /* Released: wipe_auth_tok_list called in ecryptfs_parse_packet_set or |
208 | * at end of function upon failure */ | 208 | * at end of function upon failure */ |
209 | auth_tok_list_item = | 209 | auth_tok_list_item = |
210 | kmem_cache_alloc(ecryptfs_auth_tok_list_item_cache, GFP_KERNEL); | 210 | kmem_cache_zalloc(ecryptfs_auth_tok_list_item_cache, GFP_KERNEL); |
211 | if (!auth_tok_list_item) { | 211 | if (!auth_tok_list_item) { |
212 | ecryptfs_printk(KERN_ERR, "Unable to allocate memory\n"); | 212 | ecryptfs_printk(KERN_ERR, "Unable to allocate memory\n"); |
213 | rc = -ENOMEM; | 213 | rc = -ENOMEM; |
214 | goto out; | 214 | goto out; |
215 | } | 215 | } |
216 | memset(auth_tok_list_item, 0, | ||
217 | sizeof(struct ecryptfs_auth_tok_list_item)); | ||
218 | (*new_auth_tok) = &auth_tok_list_item->auth_tok; | 216 | (*new_auth_tok) = &auth_tok_list_item->auth_tok; |
219 | 217 | ||
220 | /* check for body size - one to two bytes */ | 218 | /* check for body size - one to two bytes */ |
diff --git a/fs/ecryptfs/main.c b/fs/ecryptfs/main.c index d0541ae8faba..fe41ab1566ee 100644 --- a/fs/ecryptfs/main.c +++ b/fs/ecryptfs/main.c | |||
@@ -378,15 +378,13 @@ ecryptfs_fill_super(struct super_block *sb, void *raw_data, int silent) | |||
378 | 378 | ||
379 | /* Released in ecryptfs_put_super() */ | 379 | /* Released in ecryptfs_put_super() */ |
380 | ecryptfs_set_superblock_private(sb, | 380 | ecryptfs_set_superblock_private(sb, |
381 | kmem_cache_alloc(ecryptfs_sb_info_cache, | 381 | kmem_cache_zalloc(ecryptfs_sb_info_cache, |
382 | GFP_KERNEL)); | 382 | GFP_KERNEL)); |
383 | if (!ecryptfs_superblock_to_private(sb)) { | 383 | if (!ecryptfs_superblock_to_private(sb)) { |
384 | ecryptfs_printk(KERN_WARNING, "Out of memory\n"); | 384 | ecryptfs_printk(KERN_WARNING, "Out of memory\n"); |
385 | rc = -ENOMEM; | 385 | rc = -ENOMEM; |
386 | goto out; | 386 | goto out; |
387 | } | 387 | } |
388 | memset(ecryptfs_superblock_to_private(sb), 0, | ||
389 | sizeof(struct ecryptfs_sb_info)); | ||
390 | sb->s_op = &ecryptfs_sops; | 388 | sb->s_op = &ecryptfs_sops; |
391 | /* Released through deactivate_super(sb) from get_sb_nodev */ | 389 | /* Released through deactivate_super(sb) from get_sb_nodev */ |
392 | sb->s_root = d_alloc(NULL, &(const struct qstr) { | 390 | sb->s_root = d_alloc(NULL, &(const struct qstr) { |
@@ -402,7 +400,7 @@ ecryptfs_fill_super(struct super_block *sb, void *raw_data, int silent) | |||
402 | /* Released in d_release when dput(sb->s_root) is called */ | 400 | /* Released in d_release when dput(sb->s_root) is called */ |
403 | /* through deactivate_super(sb) from get_sb_nodev() */ | 401 | /* through deactivate_super(sb) from get_sb_nodev() */ |
404 | ecryptfs_set_dentry_private(sb->s_root, | 402 | ecryptfs_set_dentry_private(sb->s_root, |
405 | kmem_cache_alloc(ecryptfs_dentry_info_cache, | 403 | kmem_cache_zalloc(ecryptfs_dentry_info_cache, |
406 | GFP_KERNEL)); | 404 | GFP_KERNEL)); |
407 | if (!ecryptfs_dentry_to_private(sb->s_root)) { | 405 | if (!ecryptfs_dentry_to_private(sb->s_root)) { |
408 | ecryptfs_printk(KERN_ERR, | 406 | ecryptfs_printk(KERN_ERR, |
@@ -410,8 +408,6 @@ ecryptfs_fill_super(struct super_block *sb, void *raw_data, int silent) | |||
410 | rc = -ENOMEM; | 408 | rc = -ENOMEM; |
411 | goto out; | 409 | goto out; |
412 | } | 410 | } |
413 | memset(ecryptfs_dentry_to_private(sb->s_root), 0, | ||
414 | sizeof(struct ecryptfs_dentry_info)); | ||
415 | rc = 0; | 411 | rc = 0; |
416 | out: | 412 | out: |
417 | /* Should be able to rely on deactivate_super called from | 413 | /* Should be able to rely on deactivate_super called from |