Pull fscrypt updates from Ted Ts'o:
 "Clean up fscrypt's dcache revalidation support, and other
  miscellaneous cleanups"
* tag 'fscrypt_for_linus' of git://git.kernel.org/pub/scm/fs/fscrypt/fscrypt:
  fscrypt: cache decrypted symlink target in ->i_link
  vfs: use READ_ONCE() to access ->i_link
  fscrypt: fix race where ->lookup() marks plaintext dentry as ciphertext
  fscrypt: only set dentry_operations on ciphertext dentries
  fs, fscrypt: clear DCACHE_ENCRYPTED_NAME when unaliasing directory
  fscrypt: fix race allowing rename() and link() of ciphertext dentries
  fscrypt: clean up and improve dentry revalidation
  fscrypt: use READ_ONCE() to access ->i_crypt_info
  fscrypt: remove WARN_ON_ONCE() when decryption fails
  fscrypt: drop inode argument from fscrypt_get_ctx()
        return drop;
  }
  
 -static void ext4_i_callback(struct rcu_head *head)
 +static void ext4_free_in_core_inode(struct inode *inode)
  {
 -      struct inode *inode = container_of(head, struct inode, i_rcu);
 -
+       fscrypt_free_inode(inode);
 -
        kmem_cache_free(ext4_inode_cachep, EXT4_I(inode));
  }
  
 
        f2fs_inode_dirtied(inode, false);
  }
  
 -static void f2fs_i_callback(struct rcu_head *head)
 +static void f2fs_free_inode(struct inode *inode)
  {
 -      struct inode *inode = container_of(head, struct inode, i_rcu);
 -
+       fscrypt_free_inode(inode);
 -
        kmem_cache_free(f2fs_inode_cachep, F2FS_I(inode));
  }
  
 
        return &ui->vfs_inode;
  };
  
 -static void ubifs_i_callback(struct rcu_head *head)
 +static void ubifs_free_inode(struct inode *inode)
  {
 -      struct inode *inode = container_of(head, struct inode, i_rcu);
        struct ubifs_inode *ui = ubifs_inode(inode);
+ 
        kfree(ui->data);
+       fscrypt_free_inode(inode);
+ 
        kmem_cache_free(ubifs_inode_slab, ui);
  }