diff options
author | Andrey Markovytch <andreym@codeaurora.org> | 2015-06-08 14:04:45 +0300 |
---|---|---|
committer | David Keitel <dkeitel@codeaurora.org> | 2016-03-23 21:24:06 -0700 |
commit | 584531e72e48d4ef1403eaac82fa85be2135f5c7 (patch) | |
tree | 295e22e5ef3b2b4588aafce854c75c96b53fae5f /include | |
parent | 5eebf863430b86333cb3e0c179cc5d7b1f0deb0f (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.h | 50 |
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 */ |