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

Commit 9270b2f4 authored by Richard Weinberger's avatar Richard Weinberger
Browse files

ubifs: Preload crypto context in ->lookup()



...and mark the dentry as encrypted.

Signed-off-by: default avatarRichard Weinberger <richard@nod.at>
parent ac7e47a9
Loading
Loading
Loading
Loading
+15 −0
Original line number Diff line number Diff line
@@ -218,6 +218,21 @@ static struct dentry *ubifs_lookup(struct inode *dir, struct dentry *dentry,

	dbg_gen("'%pd' in dir ino %lu", dentry, dir->i_ino);

	if (ubifs_crypt_is_encrypted(dir)) {
		err = fscrypt_get_encryption_info(dir);

		/*
		 * DCACHE_ENCRYPTED_WITH_KEY is set if the dentry is
		 * created while the directory was encrypted and we
		 * have access to the key.
		 */
		if (fscrypt_has_encryption_key(dir))
			fscrypt_set_encrypted_dentry(dentry);
		fscrypt_set_d_op(dentry);
		if (err && err != -ENOKEY)
			return ERR_PTR(err);
	}

	if (dentry->d_name.len > UBIFS_MAX_NLEN)
		return ERR_PTR(-ENAMETOOLONG);