Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1534466
| From | Richard Weinberger <richard@nod.at> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | [PATCH 06/24] ubifs: Implement directory open operation |
| Date | 2016-12-01 22:30 +0100 |
| Message-ID | <sJH5x-2mT-45@gated-at.bofh.it> (permalink) |
| References | <sJH5w-2mT-5@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
We need the ->open() hook to load the crypto context
which is needed for all crypto operations within that
directory.
Signed-off-by: Richard Weinberger <richard@nod.at>
---
fs/ubifs/dir.c | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/fs/ubifs/dir.c b/fs/ubifs/dir.c
index 2315cb864c39..477817567971 100644
--- a/fs/ubifs/dir.c
+++ b/fs/ubifs/dir.c
@@ -1410,6 +1410,14 @@ int ubifs_getattr(struct vfsmount *mnt, struct dentry *dentry,
return 0;
}
+static int ubifs_dir_open(struct inode *dir, struct file *file)
+{
+ if (ubifs_crypt_is_encrypted(dir))
+ return fscrypt_get_encryption_info(dir) ? -EACCES : 0;
+
+ return 0;
+}
+
const struct inode_operations ubifs_dir_inode_operations = {
.lookup = ubifs_lookup,
.create = ubifs_create,
@@ -1436,6 +1444,7 @@ const struct file_operations ubifs_dir_operations = {
.iterate_shared = ubifs_readdir,
.fsync = ubifs_fsync,
.unlocked_ioctl = ubifs_ioctl,
+ .open = ubifs_dir_open,
#ifdef CONFIG_COMPAT
.compat_ioctl = ubifs_compat_ioctl,
#endif
--
2.7.3
Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
[PATCH 00/24] UBIFS File Encryption v2 Richard Weinberger <richard@nod.at> - 2016-12-01 22:30 +0100 [PATCH 10/24] ubifs: Massage assert in ubifs_xattr_set() wrt. fscrypto Richard Weinberger <richard@nod.at> - 2016-12-01 22:30 +0100 [PATCH 06/24] ubifs: Implement directory open operation Richard Weinberger <richard@nod.at> - 2016-12-01 22:30 +0100 [PATCH 12/24] ubifs: Introduce new data node field, compr_size Richard Weinberger <richard@nod.at> - 2016-12-01 22:30 +0100 [PATCH 09/24] ubifs: Preload crypto context in ->lookup() Richard Weinberger <richard@nod.at> - 2016-12-01 22:30 +0100
csiph-web