Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8c68084b authored by Eric Biggers's avatar Eric Biggers Committed by Theodore Ts'o
Browse files

ext4: remove "nokey" check from ext4_lookup()



Now that fscrypt_has_permitted_context() correctly handles the case
where we have the key for the parent directory but not the child, we
don't need to try to work around this in ext4_lookup().

Signed-off-by: default avatarEric Biggers <ebiggers@google.com>
Signed-off-by: default avatarTheodore Ts'o <tytso@mit.edu>
parent 272f98f6
Loading
Loading
Loading
Loading
+1 −8
Original line number Diff line number Diff line
@@ -1616,16 +1616,9 @@ static struct dentry *ext4_lookup(struct inode *dir, struct dentry *dentry, unsi
		if (!IS_ERR(inode) && ext4_encrypted_inode(dir) &&
		    (S_ISDIR(inode->i_mode) || S_ISLNK(inode->i_mode)) &&
		    !fscrypt_has_permitted_context(dir, inode)) {
			int nokey = ext4_encrypted_inode(inode) &&
				!fscrypt_has_encryption_key(inode);
			if (nokey) {
				iput(inode);
				return ERR_PTR(-ENOKEY);
			}
			ext4_warning(inode->i_sb,
				     "Inconsistent encryption contexts: %lu/%lu",
				     (unsigned long) dir->i_ino,
				     (unsigned long) inode->i_ino);
				     dir->i_ino, inode->i_ino);
			iput(inode);
			return ERR_PTR(-EPERM);
		}