Skip to contentSkip to conversation

ext4 crypto: add ciphertext_access mount option

DISCUSSION Dan Carpenter 1 participant 1 message Dec 12, 2015

lore
Share & tools
lore
#0 lore raw

Hello Theodore Ts'o,

The patch 843848f73114: "ext4 crypto: add ciphertext_access mount option" from Dec 10, 2015, leads to the following static checker warning:

	fs/ext4/inode.c:3349 ext4_direct_IO()
	warn: we tested '(()->type & (1 << 0)) == (1 << 0)' before and it was 'false'

fs/ext4/inode.c
3336 static ssize_t ext4_direct_IO(struct kiocb *iocb, struct iov_iter *iter,
3337 loff_t offset)
3338 {

  3339          struct file *file = iocb->ki_filp;
  3340          struct inode *inode = file->f_mapping->host;
  3341          size_t count = iov_iter_count(iter);
  3342          ssize_t ret;
  3343  
  3344          if (ext4_encrypted_inode(inode) && S_ISREG(inode->i_mode)) {
  3345                  if (iov_iter_rw(iter) == WRITE)
                            ^^^^^^^^^^^^^^^^^^^^^^^^^^

Checked.

3346 return 0;
3347 if (test_opt(inode->i_sb, CIPHERTEXT_ACCESS) &&
3348 capable(CAP_SYS_ADMIN)) {
3349 if (iov_iter_rw(iter) == WRITE)

                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^

Checked again but we know that it's not true.

3350 return -EPERM;
3351 } else
3352 return 0;
3353 }

regards,
dan carpenter