Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

ext4: use IS_ENCRYPTED() to check encryption status

This commit removes the ext4 specific ext4_encrypted_inode() and makes
use of the generic IS_ENCRYPTED() macro to check for the encryption
status of an inode.

Reviewed-by: Eric Biggers <ebiggers@google.com>
Signed-off-by: Chandan Rajendra <chandan@linux.vnet.ibm.com>
Signed-off-by: Eric Biggers <ebiggers@google.com>

authored by

Chandan Rajendra and committed by
Theodore Ts'o
592ddec7 1058ef0d

+22 -32
+4 -4
fs/ext4/dir.c
··· 111 111 int dir_has_error = 0; 112 112 struct fscrypt_str fstr = FSTR_INIT(NULL, 0); 113 113 114 - if (ext4_encrypted_inode(inode)) { 114 + if (IS_ENCRYPTED(inode)) { 115 115 err = fscrypt_get_encryption_info(inode); 116 116 if (err && err != -ENOKEY) 117 117 return err; ··· 138 138 return err; 139 139 } 140 140 141 - if (ext4_encrypted_inode(inode)) { 141 + if (IS_ENCRYPTED(inode)) { 142 142 err = fscrypt_fname_alloc_buffer(inode, EXT4_NAME_LEN, &fstr); 143 143 if (err < 0) 144 144 return err; ··· 245 245 offset += ext4_rec_len_from_disk(de->rec_len, 246 246 sb->s_blocksize); 247 247 if (le32_to_cpu(de->inode)) { 248 - if (!ext4_encrypted_inode(inode)) { 248 + if (!IS_ENCRYPTED(inode)) { 249 249 if (!dir_emit(ctx, de->name, 250 250 de->name_len, 251 251 le32_to_cpu(de->inode), ··· 613 613 614 614 static int ext4_dir_open(struct inode * inode, struct file * filp) 615 615 { 616 - if (ext4_encrypted_inode(inode)) 616 + if (IS_ENCRYPTED(inode)) 617 617 return fscrypt_get_encryption_info(inode) ? -EACCES : 0; 618 618 return 0; 619 619 }
-5
fs/ext4/ext4.h
··· 2279 2279 struct ext4_group_desc *gdp); 2280 2280 ext4_fsblk_t ext4_inode_to_goal_block(struct inode *); 2281 2281 2282 - static inline bool ext4_encrypted_inode(struct inode *inode) 2283 - { 2284 - return ext4_test_inode_flag(inode, EXT4_INODE_ENCRYPT); 2285 - } 2286 - 2287 2282 #ifdef CONFIG_EXT4_FS_ENCRYPTION 2288 2283 static inline int ext4_fname_setup_filename(struct inode *dir, 2289 2284 const struct qstr *iname,
+1 -1
fs/ext4/ext4_jbd2.h
··· 411 411 (ext4_test_inode_flag(inode, EXT4_INODE_JOURNAL_DATA) && 412 412 !test_opt(inode->i_sb, DELALLOC))) { 413 413 /* We do not support data journalling for encrypted data */ 414 - if (S_ISREG(inode->i_mode) && ext4_encrypted_inode(inode)) 414 + if (S_ISREG(inode->i_mode) && IS_ENCRYPTED(inode)) 415 415 return EXT4_INODE_ORDERED_DATA_MODE; /* ordered */ 416 416 return EXT4_INODE_JOURNAL_DATA_MODE; /* journal data */ 417 417 }
+2 -2
fs/ext4/extents.c
··· 3631 3631 max_zeroout = sbi->s_extent_max_zeroout_kb >> 3632 3632 (inode->i_sb->s_blocksize_bits - 10); 3633 3633 3634 - if (ext4_encrypted_inode(inode)) 3634 + if (IS_ENCRYPTED(inode)) 3635 3635 max_zeroout = 0; 3636 3636 3637 3637 /* ··· 4818 4818 * leave it disabled for encrypted inodes for now. This is a 4819 4819 * bug we should fix.... 4820 4820 */ 4821 - if (ext4_encrypted_inode(inode) && 4821 + if (IS_ENCRYPTED(inode) && 4822 4822 (mode & (FALLOC_FL_COLLAPSE_RANGE | FALLOC_FL_INSERT_RANGE | 4823 4823 FALLOC_FL_ZERO_RANGE))) 4824 4824 return -EOPNOTSUPP;
+1 -1
fs/ext4/ialloc.c
··· 771 771 if (unlikely(ext4_forced_shutdown(sbi))) 772 772 return ERR_PTR(-EIO); 773 773 774 - if ((ext4_encrypted_inode(dir) || DUMMY_ENCRYPTION_ENABLED(sbi)) && 774 + if ((IS_ENCRYPTED(dir) || DUMMY_ENCRYPTION_ENABLED(sbi)) && 775 775 (S_ISREG(mode) || S_ISDIR(mode) || S_ISLNK(mode)) && 776 776 !(i_flags & EXT4_EA_INODE_FL)) { 777 777 err = fscrypt_get_encryption_info(dir);
+7 -9
fs/ext4/inode.c
··· 415 415 { 416 416 int ret; 417 417 418 - if (ext4_encrypted_inode(inode)) 418 + if (IS_ENCRYPTED(inode)) 419 419 return fscrypt_zeroout_range(inode, lblk, pblk, len); 420 420 421 421 ret = sb_issue_zeroout(inode->i_sb, pblk, len, GFP_NOFS); ··· 1217 1217 (block_start < from || block_end > to)) { 1218 1218 ll_rw_block(REQ_OP_READ, 0, 1, &bh); 1219 1219 *wait_bh++ = bh; 1220 - decrypt = ext4_encrypted_inode(inode) && 1221 - S_ISREG(inode->i_mode); 1220 + decrypt = IS_ENCRYPTED(inode) && S_ISREG(inode->i_mode); 1222 1221 } 1223 1222 } 1224 1223 /* ··· 3880 3881 ssize_t ret; 3881 3882 3882 3883 #ifdef CONFIG_EXT4_FS_ENCRYPTION 3883 - if (ext4_encrypted_inode(inode) && S_ISREG(inode->i_mode)) 3884 + if (IS_ENCRYPTED(inode) && S_ISREG(inode->i_mode)) 3884 3885 return 0; 3885 3886 #endif 3886 3887 ··· 4064 4065 /* Uhhuh. Read error. Complain and punt. */ 4065 4066 if (!buffer_uptodate(bh)) 4066 4067 goto unlock; 4067 - if (S_ISREG(inode->i_mode) && 4068 - ext4_encrypted_inode(inode)) { 4068 + if (S_ISREG(inode->i_mode) && IS_ENCRYPTED(inode)) { 4069 4069 /* We expect the key to be set. */ 4070 4070 BUG_ON(!fscrypt_has_encryption_key(inode)); 4071 4071 BUG_ON(blocksize != PAGE_SIZE); ··· 4140 4142 struct inode *inode = mapping->host; 4141 4143 4142 4144 /* If we are processing an encrypted inode during orphan list handling */ 4143 - if (ext4_encrypted_inode(inode) && !fscrypt_has_encryption_key(inode)) 4145 + if (IS_ENCRYPTED(inode) && !fscrypt_has_encryption_key(inode)) 4144 4146 return 0; 4145 4147 4146 4148 blocksize = inode->i_sb->s_blocksize; ··· 4720 4722 return false; 4721 4723 if (ext4_has_inline_data(inode)) 4722 4724 return false; 4723 - if (ext4_encrypted_inode(inode)) 4725 + if (ext4_test_inode_flag(inode, EXT4_INODE_ENCRYPT)) 4724 4726 return false; 4725 4727 return true; 4726 4728 } ··· 5070 5072 ret = -EFSCORRUPTED; 5071 5073 goto bad_inode; 5072 5074 } 5073 - if (ext4_encrypted_inode(inode)) { 5075 + if (IS_ENCRYPTED(inode)) { 5074 5076 inode->i_op = &ext4_encrypted_symlink_inode_operations; 5075 5077 ext4_set_aops(inode); 5076 5078 } else if (ext4_inode_is_fast_symlink(inode)) {
+1 -2
fs/ext4/move_extent.c
··· 592 592 return -EOPNOTSUPP; 593 593 } 594 594 595 - if (ext4_encrypted_inode(orig_inode) || 596 - ext4_encrypted_inode(donor_inode)) { 595 + if (IS_ENCRYPTED(orig_inode) || IS_ENCRYPTED(donor_inode)) { 597 596 ext4_msg(orig_inode->i_sb, KERN_ERR, 598 597 "Online defrag not supported for encrypted files"); 599 598 return -EOPNOTSUPP;
+4 -4
fs/ext4/namei.c
··· 621 621 622 622 name = de->name; 623 623 len = de->name_len; 624 - if (ext4_encrypted_inode(dir)) 624 + if (IS_ENCRYPTED(dir)) 625 625 res = fscrypt_get_encryption_info(dir); 626 626 if (res) { 627 627 printk(KERN_WARNING "Error setting up" ··· 986 986 EXT4_DIR_REC_LEN(0)); 987 987 #ifdef CONFIG_EXT4_FS_ENCRYPTION 988 988 /* Check if the directory is encrypted */ 989 - if (ext4_encrypted_inode(dir)) { 989 + if (IS_ENCRYPTED(dir)) { 990 990 err = fscrypt_get_encryption_info(dir); 991 991 if (err < 0) { 992 992 brelse(bh); ··· 1015 1015 continue; 1016 1016 if (de->inode == 0) 1017 1017 continue; 1018 - if (!ext4_encrypted_inode(dir)) { 1018 + if (!IS_ENCRYPTED(dir)) { 1019 1019 tmp_str.name = de->name; 1020 1020 tmp_str.len = de->name_len; 1021 1021 err = ext4_htree_store_dirent(dir_file, ··· 1578 1578 ino); 1579 1579 return ERR_PTR(-EFSCORRUPTED); 1580 1580 } 1581 - if (!IS_ERR(inode) && ext4_encrypted_inode(dir) && 1581 + if (!IS_ERR(inode) && IS_ENCRYPTED(dir) && 1582 1582 (S_ISDIR(inode->i_mode) || S_ISLNK(inode->i_mode)) && 1583 1583 !fscrypt_has_permitted_context(dir, inode)) { 1584 1584 ext4_warning(inode->i_sb,
+1 -2
fs/ext4/page-io.c
··· 477 477 478 478 bh = head = page_buffers(page); 479 479 480 - if (ext4_encrypted_inode(inode) && S_ISREG(inode->i_mode) && 481 - nr_to_submit) { 480 + if (IS_ENCRYPTED(inode) && S_ISREG(inode->i_mode) && nr_to_submit) { 482 481 gfp_t gfp_flags = GFP_NOFS; 483 482 484 483 retry_encrypt:
+1 -2
fs/ext4/readpage.c
··· 242 242 if (bio == NULL) { 243 243 struct fscrypt_ctx *ctx = NULL; 244 244 245 - if (ext4_encrypted_inode(inode) && 246 - S_ISREG(inode->i_mode)) { 245 + if (IS_ENCRYPTED(inode) && S_ISREG(inode->i_mode)) { 247 246 ctx = fscrypt_get_ctx(inode, GFP_NOFS); 248 247 if (IS_ERR(ctx)) 249 248 goto set_error_page;