summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorAndrey Markovytch <andreym@codeaurora.org>2015-06-08 14:04:45 +0300
committerDavid Keitel <dkeitel@codeaurora.org>2016-03-23 21:24:06 -0700
commit584531e72e48d4ef1403eaac82fa85be2135f5c7 (patch)
tree295e22e5ef3b2b4588aafce854c75c96b53fae5f /include
parent5eebf863430b86333cb3e0c179cc5d7b1f0deb0f (diff)
PFK: new module to work with ecryptfs
PFK is a new module that accompanies eCryptfs and enables it to utilize ICE hw encryption engine. Module is responsible for storing encryption/decryption keys inside eCryptfs inodes for each file and loading them to ICE Change-Id: I6e755ca657164919147fe0d9482477e14a4be5eb Signed-off-by: Andrey Markovytch <andreym@codeaurora.org> [gbroner@codeaurora.org: fix merge conflicts, adapted LSM hooks and added missing qseecom headers to fix compilation] Signed-off-by: Gilad Broner <gbroner@codeaurora.org>
Diffstat (limited to 'include')
-rw-r--r--include/linux/pfk.h50
1 files changed, 50 insertions, 0 deletions
diff --git a/include/linux/pfk.h b/include/linux/pfk.h
new file mode 100644
index 000000000000..f492d758291e
--- /dev/null
+++ b/include/linux/pfk.h
@@ -0,0 +1,50 @@
+/* Copyright (c) 2015, The Linux Foundation. All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 and
+ * only version 2 as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ */
+
+#ifndef PFK_H_
+#define PFK_H_
+
+#include <linux/bio.h>
+
+struct ice_crypto_setting;
+
+#ifdef CONFIG_PFK
+
+int pfk_load_key(const struct bio *bio, struct ice_crypto_setting *ice_setting);
+int pfk_remove_key(const unsigned char *key, size_t key_size);
+bool pfk_allow_merge_bio(struct bio *bio1, struct bio *bio2);
+
+#else
+static inline int pfk_load_key(const struct bio *bio,
+ struct ice_crypto_setting *ice_setting)
+{
+ return -ENODEV;
+}
+
+static inline int pfk_remove_key(const unsigned char *key, size_t key_size)
+{
+ return -ENODEV;
+}
+
+static inline bool pfk_allow_merge_bio(const struct bio *bio1,
+ const struct bio *bio2)
+{
+ return true;
+}
+
+static inline void pfk_remove_all_keys(void)
+{
+}
+
+#endif /* CONFIG_PFK */
+
+#endif /* PFK_H */