Commit eca9fdf3 authored by Linus Torvalds's avatar Linus Torvalds

Merge tag 'ecryptfs-3.18-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tyhicks/ecryptfs

Pull eCryptfs updates from Tyler Hicks:
 "Minor code cleanups and a fix for when eCryptfs metadata is stored in
  xattrs"

* tag 'ecryptfs-3.18-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tyhicks/ecryptfs:
  ecryptfs: remove unneeded buggy code in ecryptfs_do_create()
  ecryptfs: avoid to access NULL pointer when write metadata in xattr
  ecryptfs: remove unnecessary break after goto
  ecryptfs: Remove unnecessary include of syscall.h in keystore.c
  fs/ecryptfs/messaging.c: remove null test before kfree
  ecryptfs: Drop cast
  Use %pd in eCryptFS
parents 41e46ac0 0f9e2bf0
...@@ -229,8 +229,8 @@ static int ecryptfs_open(struct inode *inode, struct file *file) ...@@ -229,8 +229,8 @@ static int ecryptfs_open(struct inode *inode, struct file *file)
if (rc) { if (rc) {
printk(KERN_ERR "%s: Error attempting to initialize " printk(KERN_ERR "%s: Error attempting to initialize "
"the lower file for the dentry with name " "the lower file for the dentry with name "
"[%s]; rc = [%d]\n", __func__, "[%pd]; rc = [%d]\n", __func__,
ecryptfs_dentry->d_name.name, rc); ecryptfs_dentry, rc);
goto out_free; goto out_free;
} }
if ((ecryptfs_inode_to_private(inode)->lower_file->f_flags & O_ACCMODE) if ((ecryptfs_inode_to_private(inode)->lower_file->f_flags & O_ACCMODE)
......
...@@ -53,9 +53,7 @@ static void unlock_dir(struct dentry *dir) ...@@ -53,9 +53,7 @@ static void unlock_dir(struct dentry *dir)
static int ecryptfs_inode_test(struct inode *inode, void *lower_inode) static int ecryptfs_inode_test(struct inode *inode, void *lower_inode)
{ {
if (ecryptfs_inode_to_lower(inode) == (struct inode *)lower_inode) return ecryptfs_inode_to_lower(inode) == lower_inode;
return 1;
return 0;
} }
static int ecryptfs_inode_set(struct inode *inode, void *opaque) static int ecryptfs_inode_set(struct inode *inode, void *opaque)
...@@ -192,12 +190,6 @@ ecryptfs_do_create(struct inode *directory_inode, ...@@ -192,12 +190,6 @@ ecryptfs_do_create(struct inode *directory_inode,
lower_dentry = ecryptfs_dentry_to_lower(ecryptfs_dentry); lower_dentry = ecryptfs_dentry_to_lower(ecryptfs_dentry);
lower_dir_dentry = lock_parent(lower_dentry); lower_dir_dentry = lock_parent(lower_dentry);
if (IS_ERR(lower_dir_dentry)) {
ecryptfs_printk(KERN_ERR, "Error locking directory of "
"dentry\n");
inode = ERR_CAST(lower_dir_dentry);
goto out;
}
rc = vfs_create(lower_dir_dentry->d_inode, lower_dentry, mode, true); rc = vfs_create(lower_dir_dentry->d_inode, lower_dentry, mode, true);
if (rc) { if (rc) {
printk(KERN_ERR "%s: Failure to create dentry in lower fs; " printk(KERN_ERR "%s: Failure to create dentry in lower fs; "
...@@ -215,7 +207,6 @@ ecryptfs_do_create(struct inode *directory_inode, ...@@ -215,7 +207,6 @@ ecryptfs_do_create(struct inode *directory_inode,
fsstack_copy_inode_size(directory_inode, lower_dir_dentry->d_inode); fsstack_copy_inode_size(directory_inode, lower_dir_dentry->d_inode);
out_lock: out_lock:
unlock_dir(lower_dir_dentry); unlock_dir(lower_dir_dentry);
out:
return inode; return inode;
} }
...@@ -250,8 +241,8 @@ int ecryptfs_initialize_file(struct dentry *ecryptfs_dentry, ...@@ -250,8 +241,8 @@ int ecryptfs_initialize_file(struct dentry *ecryptfs_dentry,
if (rc) { if (rc) {
printk(KERN_ERR "%s: Error attempting to initialize " printk(KERN_ERR "%s: Error attempting to initialize "
"the lower file for the dentry with name " "the lower file for the dentry with name "
"[%s]; rc = [%d]\n", __func__, "[%pd]; rc = [%d]\n", __func__,
ecryptfs_dentry->d_name.name, rc); ecryptfs_dentry, rc);
goto out; goto out;
} }
rc = ecryptfs_write_metadata(ecryptfs_dentry, ecryptfs_inode); rc = ecryptfs_write_metadata(ecryptfs_dentry, ecryptfs_inode);
...@@ -313,8 +304,8 @@ static int ecryptfs_i_size_read(struct dentry *dentry, struct inode *inode) ...@@ -313,8 +304,8 @@ static int ecryptfs_i_size_read(struct dentry *dentry, struct inode *inode)
if (rc) { if (rc) {
printk(KERN_ERR "%s: Error attempting to initialize " printk(KERN_ERR "%s: Error attempting to initialize "
"the lower file for the dentry with name " "the lower file for the dentry with name "
"[%s]; rc = [%d]\n", __func__, "[%pd]; rc = [%d]\n", __func__,
dentry->d_name.name, rc); dentry, rc);
return rc; return rc;
} }
...@@ -418,8 +409,8 @@ static struct dentry *ecryptfs_lookup(struct inode *ecryptfs_dir_inode, ...@@ -418,8 +409,8 @@ static struct dentry *ecryptfs_lookup(struct inode *ecryptfs_dir_inode,
if (IS_ERR(lower_dentry)) { if (IS_ERR(lower_dentry)) {
rc = PTR_ERR(lower_dentry); rc = PTR_ERR(lower_dentry);
ecryptfs_printk(KERN_DEBUG, "%s: lookup_one_len() returned " ecryptfs_printk(KERN_DEBUG, "%s: lookup_one_len() returned "
"[%d] on lower_dentry = [%s]\n", __func__, rc, "[%d] on lower_dentry = [%pd]\n", __func__, rc,
ecryptfs_dentry->d_name.name); ecryptfs_dentry);
goto out; goto out;
} }
if (lower_dentry->d_inode) if (lower_dentry->d_inode)
...@@ -1039,7 +1030,7 @@ ecryptfs_setxattr(struct dentry *dentry, const char *name, const void *value, ...@@ -1039,7 +1030,7 @@ ecryptfs_setxattr(struct dentry *dentry, const char *name, const void *value,
} }
rc = vfs_setxattr(lower_dentry, name, value, size, flags); rc = vfs_setxattr(lower_dentry, name, value, size, flags);
if (!rc) if (!rc && dentry->d_inode)
fsstack_copy_attr_all(dentry->d_inode, lower_dentry->d_inode); fsstack_copy_attr_all(dentry->d_inode, lower_dentry->d_inode);
out: out:
return rc; return rc;
......
...@@ -26,7 +26,6 @@ ...@@ -26,7 +26,6 @@
*/ */
#include <linux/string.h> #include <linux/string.h>
#include <linux/syscalls.h>
#include <linux/pagemap.h> #include <linux/pagemap.h>
#include <linux/key.h> #include <linux/key.h>
#include <linux/random.h> #include <linux/random.h>
...@@ -1846,7 +1845,6 @@ int ecryptfs_parse_packet_set(struct ecryptfs_crypt_stat *crypt_stat, ...@@ -1846,7 +1845,6 @@ int ecryptfs_parse_packet_set(struct ecryptfs_crypt_stat *crypt_stat,
"(Tag 11 not allowed by itself)\n"); "(Tag 11 not allowed by itself)\n");
rc = -EIO; rc = -EIO;
goto out_wipe_list; goto out_wipe_list;
break;
default: default:
ecryptfs_printk(KERN_DEBUG, "No packet at offset [%zd] " ecryptfs_printk(KERN_DEBUG, "No packet at offset [%zd] "
"of the file header; hex value of " "of the file header; hex value of "
......
...@@ -434,8 +434,7 @@ void ecryptfs_release_messaging(void) ...@@ -434,8 +434,7 @@ void ecryptfs_release_messaging(void)
mutex_lock(&ecryptfs_msg_ctx_lists_mux); mutex_lock(&ecryptfs_msg_ctx_lists_mux);
for (i = 0; i < ecryptfs_message_buf_len; i++) { for (i = 0; i < ecryptfs_message_buf_len; i++) {
mutex_lock(&ecryptfs_msg_ctx_arr[i].mux); mutex_lock(&ecryptfs_msg_ctx_arr[i].mux);
if (ecryptfs_msg_ctx_arr[i].msg) kfree(ecryptfs_msg_ctx_arr[i].msg);
kfree(ecryptfs_msg_ctx_arr[i].msg);
mutex_unlock(&ecryptfs_msg_ctx_arr[i].mux); mutex_unlock(&ecryptfs_msg_ctx_arr[i].mux);
} }
kfree(ecryptfs_msg_ctx_arr); kfree(ecryptfs_msg_ctx_arr);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment