ubifs: use IS_ENCRYPTED() instead of ubifs_crypt_is_encrypted()
authorEric Biggers <ebiggers@google.com>
Mon, 9 Dec 2019 21:27:21 +0000 (13:27 -0800)
committerEric Biggers <ebiggers@google.com>
Mon, 20 Jan 2020 18:43:46 +0000 (10:43 -0800)
There's no need for the ubifs_crypt_is_encrypted() function anymore.
Just use IS_ENCRYPTED() instead, like ext4 and f2fs do.  IS_ENCRYPTED()
checks the VFS-level flag instead of the UBIFS-specific flag, but it
shouldn't change any behavior since the flags are kept in sync.

Link: https://lore.kernel.org/r/20191209212721.244396-1-ebiggers@kernel.org
Acked-by: Richard Weinberger <richard@nod.at>
Signed-off-by: Eric Biggers <ebiggers@google.com>
fs/ubifs/dir.c
fs/ubifs/file.c
fs/ubifs/journal.c
fs/ubifs/ubifs.h

index acc4f942d25b6ca4184620d7d97a9ab8410fc791..636c3222c2308bc77c24bf2099ba26c3b6e5e676 100644 (file)
@@ -81,7 +81,7 @@ struct inode *ubifs_new_inode(struct ubifs_info *c, struct inode *dir,
        struct ubifs_inode *ui;
        bool encrypted = false;
 
-       if (ubifs_crypt_is_encrypted(dir)) {
+       if (IS_ENCRYPTED(dir)) {
                err = fscrypt_get_encryption_info(dir);
                if (err) {
                        ubifs_err(c, "fscrypt_get_encryption_info failed: %i", err);
@@ -261,7 +261,7 @@ static struct dentry *ubifs_lookup(struct inode *dir, struct dentry *dentry,
                goto done;
        }
 
-       if (ubifs_crypt_is_encrypted(dir) &&
+       if (IS_ENCRYPTED(dir) &&
            (S_ISDIR(inode->i_mode) || S_ISLNK(inode->i_mode)) &&
            !fscrypt_has_permitted_context(dir, inode)) {
                ubifs_warn(c, "Inconsistent encryption contexts: %lu/%lu",
@@ -499,7 +499,7 @@ static int ubifs_readdir(struct file *file, struct dir_context *ctx)
        struct ubifs_dent_node *dent;
        struct inode *dir = file_inode(file);
        struct ubifs_info *c = dir->i_sb->s_fs_info;
-       bool encrypted = ubifs_crypt_is_encrypted(dir);
+       bool encrypted = IS_ENCRYPTED(dir);
 
        dbg_gen("dir ino %lu, f_pos %#llx", dir->i_ino, ctx->pos);
 
@@ -1618,7 +1618,7 @@ int ubifs_getattr(const struct path *path, struct kstat *stat,
 
 static int ubifs_dir_open(struct inode *dir, struct file *file)
 {
-       if (ubifs_crypt_is_encrypted(dir))
+       if (IS_ENCRYPTED(dir))
                return fscrypt_get_encryption_info(dir) ? -EACCES : 0;
 
        return 0;
index cd52585c8f4fe16f474771e6a822d9ec1a60f23a..c8e8f50c6054f297d769441b5db4325fa89a660e 100644 (file)
@@ -67,7 +67,7 @@ static int read_block(struct inode *inode, void *addr, unsigned int block,
 
        dlen = le32_to_cpu(dn->ch.len) - UBIFS_DATA_NODE_SZ;
 
-       if (ubifs_crypt_is_encrypted(inode)) {
+       if (IS_ENCRYPTED(inode)) {
                err = ubifs_decrypt(inode, dn, &dlen, block);
                if (err)
                        goto dump;
@@ -647,7 +647,7 @@ static int populate_page(struct ubifs_info *c, struct page *page,
                        dlen = le32_to_cpu(dn->ch.len) - UBIFS_DATA_NODE_SZ;
                        out_len = UBIFS_BLOCK_SIZE;
 
-                       if (ubifs_crypt_is_encrypted(inode)) {
+                       if (IS_ENCRYPTED(inode)) {
                                err = ubifs_decrypt(inode, dn, &dlen, page_block);
                                if (err)
                                        goto out_err;
index 388fe8f5dc51d5e62b21337337a4ef427dda789f..a38e18d3ef1d70e90319ec25d987eafa8d49e1c1 100644 (file)
@@ -727,7 +727,7 @@ int ubifs_jnl_write_data(struct ubifs_info *c, const struct inode *inode,
        int dlen = COMPRESSED_DATA_NODE_BUF_SZ, allocated = 1;
        int write_len;
        struct ubifs_inode *ui = ubifs_inode(inode);
-       bool encrypted = ubifs_crypt_is_encrypted(inode);
+       bool encrypted = IS_ENCRYPTED(inode);
        u8 hash[UBIFS_HASH_ARR_SZ];
 
        dbg_jnlk(key, "ino %lu, blk %u, len %d, key ",
@@ -1449,7 +1449,7 @@ static int truncate_data_node(const struct ubifs_info *c, const struct inode *in
        dlen = old_dlen = le32_to_cpu(dn->ch.len) - UBIFS_DATA_NODE_SZ;
        compr_type = le16_to_cpu(dn->compr_type);
 
-       if (ubifs_crypt_is_encrypted(inode)) {
+       if (IS_ENCRYPTED(inode)) {
                err = ubifs_decrypt(inode, dn, &dlen, block);
                if (err)
                        goto out;
@@ -1465,7 +1465,7 @@ static int truncate_data_node(const struct ubifs_info *c, const struct inode *in
                ubifs_compress(c, buf, *new_len, &dn->data, &out_len, &compr_type);
        }
 
-       if (ubifs_crypt_is_encrypted(inode)) {
+       if (IS_ENCRYPTED(inode)) {
                err = ubifs_encrypt(inode, dn, out_len, &old_dlen, block);
                if (err)
                        goto out;
index c55f212dcb759301f640a353d4ad95073da8e818..bff682309fbefd8bfd46b9806c3f12d410997013 100644 (file)
@@ -2095,13 +2095,6 @@ int ubifs_decrypt(const struct inode *inode, struct ubifs_data_node *dn,
 
 extern const struct fscrypt_operations ubifs_crypt_operations;
 
-static inline bool ubifs_crypt_is_encrypted(const struct inode *inode)
-{
-       const struct ubifs_inode *ui = ubifs_inode(inode);
-
-       return ui->flags & UBIFS_CRYPT_FL;
-}
-
 /* Normal UBIFS messages */
 __printf(2, 3)
 void ubifs_msg(const struct ubifs_info *c, const char *fmt, ...);