[PATCH v3 00/10] File-level Encryption Support by VFS

From: Jaegeuk Kim
Date: Wed Mar 02 2016 - 13:31:51 EST


Change log from v2:
- add missing Kconfig
- support module compilation
- change some data types to u8

Jaegeuk Kim (10):
fs crypto: add basic definitions for per-file encryption
fs crypto: add crypto.c for encrypt/decrypt functions
fs crypto: add policy.c to handle contexts
fs crypto: add keyinfo.c to handle permissions
fs crypto: add fname.c to support filename encryption
fs crypto: add Makefile and Kconfig
fs crypto: add dentry revalidation facility in crypto
f2fs crypto: migrate into vfs's crypto engine
f2fs crypto: sync ext4_lookup and ext4_file_open
ext4 crypto: migrate into vfs's crypto engine

fs/Kconfig | 2 +
fs/Makefile | 1 +
fs/crypto/Kconfig | 18 ++
fs/crypto/Makefile | 3 +
fs/crypto/crypto.c | 556 +++++++++++++++++++++++++++++++++++++++++++++++
fs/crypto/fname.c | 427 ++++++++++++++++++++++++++++++++++++
fs/crypto/keyinfo.c | 278 ++++++++++++++++++++++++
fs/crypto/policy.c | 229 +++++++++++++++++++
fs/ext4/Kconfig | 12 +-
fs/ext4/Makefile | 2 -
fs/ext4/crypto.c | 525 --------------------------------------------
fs/ext4/crypto_fname.c | 470 ---------------------------------------
fs/ext4/crypto_key.c | 276 -----------------------
fs/ext4/crypto_policy.c | 229 -------------------
fs/ext4/dir.c | 26 ++-
fs/ext4/ext4.h | 195 ++++++-----------
fs/ext4/ext4_crypto.h | 159 --------------
fs/ext4/file.c | 10 +-
fs/ext4/ialloc.c | 7 +-
fs/ext4/inline.c | 14 +-
fs/ext4/inode.c | 8 +-
fs/ext4/ioctl.c | 20 +-
fs/ext4/namei.c | 120 +++++-----
fs/ext4/page-io.c | 13 +-
fs/ext4/readpage.c | 45 +---
fs/ext4/super.c | 85 +++++++-
fs/ext4/symlink.c | 33 ++-
fs/f2fs/Kconfig | 10 +-
fs/f2fs/Makefile | 2 -
fs/f2fs/crypto.c | 473 ----------------------------------------
fs/f2fs/crypto_fname.c | 446 -------------------------------------
fs/f2fs/crypto_key.c | 267 -----------------------
fs/f2fs/crypto_policy.c | 210 ------------------
fs/f2fs/data.c | 31 ++-
fs/f2fs/dir.c | 46 ++--
fs/f2fs/f2fs.h | 172 +++------------
fs/f2fs/f2fs_crypto.h | 151 -------------
fs/f2fs/file.c | 40 ++--
fs/f2fs/inline.c | 4 +-
fs/f2fs/inode.c | 5 +-
fs/f2fs/namei.c | 79 ++++---
fs/f2fs/super.c | 55 +++--
include/linux/dcache.h | 2 +
include/linux/fs.h | 8 +
include/linux/fscrypto.h | 433 ++++++++++++++++++++++++++++++++++++
include/uapi/linux/fs.h | 18 ++
46 files changed, 2423 insertions(+), 3792 deletions(-)
create mode 100644 fs/crypto/Kconfig
create mode 100644 fs/crypto/Makefile
create mode 100644 fs/crypto/crypto.c
create mode 100644 fs/crypto/fname.c
create mode 100644 fs/crypto/keyinfo.c
create mode 100644 fs/crypto/policy.c
delete mode 100644 fs/ext4/crypto.c
delete mode 100644 fs/ext4/crypto_fname.c
delete mode 100644 fs/ext4/crypto_key.c
delete mode 100644 fs/ext4/crypto_policy.c
delete mode 100644 fs/ext4/ext4_crypto.h
delete mode 100644 fs/f2fs/crypto.c
delete mode 100644 fs/f2fs/crypto_fname.c
delete mode 100644 fs/f2fs/crypto_key.c
delete mode 100644 fs/f2fs/crypto_policy.c
delete mode 100644 fs/f2fs/f2fs_crypto.h
create mode 100644 include/linux/fscrypto.h

--
2.6.3