• Linus Torvalds's avatar
    Merge tag 'fscrypt-for-linus' of git://git.kernel.org/pub/scm/fs/fscrypt/fscrypt · 734d1ed8
    Linus Torvalds authored
    Pull fscrypt updates from Eric Biggers:
     "This is a large update to fs/crypto/ which includes:
    
       - Add ioctls that add/remove encryption keys to/from a
         filesystem-level keyring.
    
         These fix user-reported issues where e.g. an encrypted home
         directory can break NetworkManager, sshd, Docker, etc. because they
         don't get access to the needed keyring. These ioctls also provide a
         way to lock encrypted directories that doesn't use the
         vm.drop_caches sysctl, so is faster, more reliable, and doesn't
         always need root.
    
       - Add a new encryption policy version ("v2") which switches to a more
         standard, secure, and flexible key derivation function, and starts
         verifying that the correct key was supplied before using it.
    
         The key derivation improvement is needed for its own sake as well
         as for ongoing feature work for which the current way is too
         inflexible.
    
      Work is in progress to update both Android and the 'fscrypt' userspace
      tool to use both these features. (Working patches are available and
      just need to be reviewed+merged.) Chrome OS will likely use them too.
    
      This has also been tested on ext4, f2fs, and ubifs with xfstests --
      both the existing encryption tests, and the new tests for this. This
      has also been in linux-next since Aug 16 with no reported issues. I'm
      also using an fscrypt v2-encrypted home directory on my personal
      desktop"
    
    * tag 'fscrypt-for-linus' of git://git.kernel.org/pub/scm/fs/fscrypt/fscrypt: (27 commits)
      ext4 crypto: fix to check feature status before get policy
      fscrypt: document the new ioctls and policy version
      ubifs: wire up new fscrypt ioctls
      f2fs: wire up new fscrypt ioctls
      ext4: wire up new fscrypt ioctls
      fscrypt: require that key be added when setting a v2 encryption policy
      fscrypt: add FS_IOC_REMOVE_ENCRYPTION_KEY_ALL_USERS ioctl
      fscrypt: allow unprivileged users to add/remove keys for v2 policies
      fscrypt: v2 encryption policy support
      fscrypt: add an HKDF-SHA512 implementation
      fscrypt: add FS_IOC_GET_ENCRYPTION_KEY_STATUS ioctl
      fscrypt: add FS_IOC_REMOVE_ENCRYPTION_KEY ioctl
      fscrypt: add FS_IOC_ADD_ENCRYPTION_KEY ioctl
      fscrypt: rename keyinfo.c to keysetup.c
      fscrypt: move v1 policy key setup to keysetup_v1.c
      fscrypt: refactor key setup code in preparation for v2 policies
      fscrypt: rename fscrypt_master_key to fscrypt_direct_key
      fscrypt: add ->ci_inode to fscrypt_info
      fscrypt: use FSCRYPT_* definitions, not FS_*
      fscrypt: use FSCRYPT_ prefix for uapi constants
      ...
    734d1ed8
super.c 47.4 KB