• Eric Biggers's avatar
    fscrypt: clean up and improve dentry revalidation · 6cc24868
    Eric Biggers authored
    Make various improvements to fscrypt dentry revalidation:
    
    - Don't try to handle the case where the per-directory key is removed,
      as this can't happen without the inode (and dentries) being evicted.
    
    - Flag ciphertext dentries rather than plaintext dentries, since it's
      ciphertext dentries that need the special handling.
    
    - Avoid doing unnecessary work for non-ciphertext dentries.
    
    - When revalidating ciphertext dentries, try to set up the directory's
      i_crypt_info to make sure the key is really still absent, rather than
      invalidating all negative dentries as the previous code did.  An old
      comment suggested we can't do this for locking reasons, but AFAICT
      this comment was outdated and it actually works fine.
    Signed-off-by: default avatarEric Biggers <ebiggers@google.com>
    Signed-off-by: default avatarTheodore Ts'o <tytso@mit.edu>
    6cc24868
crypto.c 14.1 KB