linux-stable/fs/ext4
Theodore Ts'o c936e1ec28 ext4 crypto: use per-inode tfm structure
As suggested by Herbert Xu, we shouldn't allocate a new tfm each time
we read or write a page.  Instead we can use a single tfm hanging off
the inode's crypt_info structure for all of our encryption needs for
that inode, since the tfm can be used by multiple crypto requests in
parallel.

Also use cmpxchg() to avoid races that could result in crypt_info
structure getting doubly allocated or doubly freed.

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
2015-05-31 13:34:22 -04:00
..
acl.c ext4: remove unused header files 2015-04-02 23:47:42 -04:00
acl.h ext2/3/4: use generic posix ACL infrastructure 2014-01-25 23:58:19 -05:00
balloc.c ext4: remove unnecessary lock/unlock of i_block_reservation_lock 2015-04-03 00:02:53 -04:00
bitmap.c ext4: remove unused header files 2015-04-02 23:47:42 -04:00
block_validity.c ext4: remove unused header files 2015-04-02 23:47:42 -04:00
crypto.c ext4 crypto: use per-inode tfm structure 2015-05-31 13:34:22 -04:00
crypto_fname.c ext4 crypto: use per-inode tfm structure 2015-05-31 13:34:22 -04:00
crypto_key.c ext4 crypto: use per-inode tfm structure 2015-05-31 13:34:22 -04:00
crypto_policy.c ext4: clean up superblock encryption mode fields 2015-05-18 13:18:47 -04:00
dir.c ext4 crypto: use per-inode tfm structure 2015-05-31 13:34:22 -04:00
ext4.h ext4 crypto: use per-inode tfm structure 2015-05-31 13:34:22 -04:00
ext4_crypto.h ext4 crypto: use per-inode tfm structure 2015-05-31 13:34:22 -04:00
ext4_extents.h ext4: teach ext4_ext_find_extent() to realloc path if necessary 2014-09-01 14:40:09 -04:00
ext4_jbd2.c ext4: fix NULL pointer dereference when journal restart fails 2015-05-14 18:55:18 -04:00
ext4_jbd2.h ext4: don't use MAXQUOTAS value 2014-09-11 11:15:15 -04:00
extents.c ext4: fix an ext3 collapse range regression in xfstests 2015-05-15 00:24:10 -04:00
extents_status.c ext4: fix data corruption caused by unwritten and delayed extents 2015-05-02 21:36:55 -04:00
extents_status.h ext4: introduce aging to extent status tree 2014-11-25 11:55:24 -05:00
file.c ext4 crypto: reorganize how we store keys in the inode 2015-05-18 13:17:47 -04:00
fsync.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2015-04-26 17:22:07 -07:00
hash.c ext4: remove unused header files 2015-04-02 23:47:42 -04:00
ialloc.c ext4: clean up superblock encryption mode fields 2015-05-18 13:18:47 -04:00
indirect.c direct-io: only inc/dec inode->i_dio_count for file systems 2015-04-24 15:45:28 -04:00
inline.c ext4 crypto: optimize filename encryption 2015-05-18 13:14:47 -04:00
inode.c ext4: fix lazytime optimization 2015-05-14 18:19:01 -04:00
ioctl.c ext4 crypto: add encryption policy and password salt support 2015-04-11 07:48:01 -04:00
Kconfig ext4 crypto: require CONFIG_CRYPTO_CTR if ext4 encryption is enabled 2015-05-31 13:31:37 -04:00
Makefile ext4 crypto: filename encryption facilities 2015-04-12 00:56:17 -04:00
mballoc.c ext4: Remove an unnecessary check for NULL before iput() 2014-11-25 20:01:37 -05:00
mballoc.h ext4: remove unused ac_ex_scanned 2014-02-20 13:32:10 -05:00
migrate.c VFS: normal filesystems (and lustre): d_inode() annotations 2015-04-15 15:06:57 -04:00
mmp.c ext4: Replace open coded mdata csum feature to helper function 2014-10-13 03:36:16 -04:00
move_extent.c move_extent_per_page(): get rid of unused w_flags 2014-12-17 06:43:56 -05:00
namei.c ext4 crypto: use per-inode tfm structure 2015-05-31 13:34:22 -04:00
page-io.c ext4 crypto: shrink size of the ext4_crypto_ctx structure 2015-05-31 13:31:34 -04:00
readpage.c ext4 crypto: shrink size of the ext4_crypto_ctx structure 2015-05-31 13:31:34 -04:00
resize.c ext4: fix growing of tiny filesystems 2015-05-02 23:58:32 -04:00
super.c ext4 crypto: use per-inode tfm structure 2015-05-31 13:34:22 -04:00
symlink.c ext4 crypto: use per-inode tfm structure 2015-05-31 13:34:22 -04:00
truncate.h
xattr.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2015-04-26 17:22:07 -07:00
xattr.h ext4 crypto: add encryption xattr support 2015-04-11 07:47:00 -04:00
xattr_security.c VFS: normal filesystems (and lustre): d_inode() annotations 2015-04-15 15:06:57 -04:00
xattr_trusted.c VFS: normal filesystems (and lustre): d_inode() annotations 2015-04-15 15:06:57 -04:00
xattr_user.c VFS: normal filesystems (and lustre): d_inode() annotations 2015-04-15 15:06:57 -04:00