diff options
Diffstat (limited to 'fs/ecryptfs/ecryptfs_kernel.h')
| -rw-r--r-- | fs/ecryptfs/ecryptfs_kernel.h | 40 |
1 files changed, 38 insertions, 2 deletions
diff --git a/fs/ecryptfs/ecryptfs_kernel.h b/fs/ecryptfs/ecryptfs_kernel.h index 7e2c6f5d7985..dd299b389d4e 100644 --- a/fs/ecryptfs/ecryptfs_kernel.h +++ b/fs/ecryptfs/ecryptfs_kernel.h | |||
| @@ -172,6 +172,19 @@ ecryptfs_get_key_payload_data(struct key *key) | |||
| 172 | #define ECRYPTFS_FNEK_ENCRYPTED_FILENAME_PREFIX_SIZE 24 | 172 | #define ECRYPTFS_FNEK_ENCRYPTED_FILENAME_PREFIX_SIZE 24 |
| 173 | #define ECRYPTFS_ENCRYPTED_DENTRY_NAME_LEN (18 + 1 + 4 + 1 + 32) | 173 | #define ECRYPTFS_ENCRYPTED_DENTRY_NAME_LEN (18 + 1 + 4 + 1 + 32) |
| 174 | 174 | ||
| 175 | #ifdef CONFIG_ECRYPT_FS_MESSAGING | ||
| 176 | # define ECRYPTFS_VERSIONING_MASK_MESSAGING (ECRYPTFS_VERSIONING_DEVMISC \ | ||
| 177 | | ECRYPTFS_VERSIONING_PUBKEY) | ||
| 178 | #else | ||
| 179 | # define ECRYPTFS_VERSIONING_MASK_MESSAGING 0 | ||
| 180 | #endif | ||
| 181 | |||
| 182 | #define ECRYPTFS_VERSIONING_MASK (ECRYPTFS_VERSIONING_PASSPHRASE \ | ||
| 183 | | ECRYPTFS_VERSIONING_PLAINTEXT_PASSTHROUGH \ | ||
| 184 | | ECRYPTFS_VERSIONING_XATTR \ | ||
| 185 | | ECRYPTFS_VERSIONING_MULTKEY \ | ||
| 186 | | ECRYPTFS_VERSIONING_MASK_MESSAGING \ | ||
| 187 | | ECRYPTFS_VERSIONING_FILENAME_ENCRYPTION) | ||
| 175 | struct ecryptfs_key_sig { | 188 | struct ecryptfs_key_sig { |
| 176 | struct list_head crypt_stat_list; | 189 | struct list_head crypt_stat_list; |
| 177 | char keysig[ECRYPTFS_SIG_SIZE_HEX + 1]; | 190 | char keysig[ECRYPTFS_SIG_SIZE_HEX + 1]; |
| @@ -399,7 +412,9 @@ struct ecryptfs_daemon { | |||
| 399 | struct hlist_node euid_chain; | 412 | struct hlist_node euid_chain; |
| 400 | }; | 413 | }; |
| 401 | 414 | ||
| 415 | #ifdef CONFIG_ECRYPT_FS_MESSAGING | ||
| 402 | extern struct mutex ecryptfs_daemon_hash_mux; | 416 | extern struct mutex ecryptfs_daemon_hash_mux; |
| 417 | #endif | ||
| 403 | 418 | ||
| 404 | static inline size_t | 419 | static inline size_t |
| 405 | ecryptfs_lower_header_size(struct ecryptfs_crypt_stat *crypt_stat) | 420 | ecryptfs_lower_header_size(struct ecryptfs_crypt_stat *crypt_stat) |
| @@ -610,6 +625,7 @@ int | |||
| 610 | ecryptfs_setxattr(struct dentry *dentry, const char *name, const void *value, | 625 | ecryptfs_setxattr(struct dentry *dentry, const char *name, const void *value, |
| 611 | size_t size, int flags); | 626 | size_t size, int flags); |
| 612 | int ecryptfs_read_xattr_region(char *page_virt, struct inode *ecryptfs_inode); | 627 | int ecryptfs_read_xattr_region(char *page_virt, struct inode *ecryptfs_inode); |
| 628 | #ifdef CONFIG_ECRYPT_FS_MESSAGING | ||
| 613 | int ecryptfs_process_response(struct ecryptfs_daemon *daemon, | 629 | int ecryptfs_process_response(struct ecryptfs_daemon *daemon, |
| 614 | struct ecryptfs_message *msg, u32 seq); | 630 | struct ecryptfs_message *msg, u32 seq); |
| 615 | int ecryptfs_send_message(char *data, int data_len, | 631 | int ecryptfs_send_message(char *data, int data_len, |
| @@ -618,6 +634,24 @@ int ecryptfs_wait_for_response(struct ecryptfs_msg_ctx *msg_ctx, | |||
| 618 | struct ecryptfs_message **emsg); | 634 | struct ecryptfs_message **emsg); |
| 619 | int ecryptfs_init_messaging(void); | 635 | int ecryptfs_init_messaging(void); |
| 620 | void ecryptfs_release_messaging(void); | 636 | void ecryptfs_release_messaging(void); |
| 637 | #else | ||
| 638 | static inline int ecryptfs_init_messaging(void) | ||
| 639 | { | ||
| 640 | return 0; | ||
| 641 | } | ||
| 642 | static inline void ecryptfs_release_messaging(void) | ||
| 643 | { } | ||
| 644 | static inline int ecryptfs_send_message(char *data, int data_len, | ||
| 645 | struct ecryptfs_msg_ctx **msg_ctx) | ||
| 646 | { | ||
| 647 | return -ENOTCONN; | ||
| 648 | } | ||
| 649 | static inline int ecryptfs_wait_for_response(struct ecryptfs_msg_ctx *msg_ctx, | ||
| 650 | struct ecryptfs_message **emsg) | ||
| 651 | { | ||
| 652 | return -ENOMSG; | ||
| 653 | } | ||
| 654 | #endif | ||
| 621 | 655 | ||
| 622 | void | 656 | void |
| 623 | ecryptfs_write_header_metadata(char *virt, | 657 | ecryptfs_write_header_metadata(char *virt, |
| @@ -655,12 +689,11 @@ int ecryptfs_read_lower_page_segment(struct page *page_for_ecryptfs, | |||
| 655 | size_t offset_in_page, size_t size, | 689 | size_t offset_in_page, size_t size, |
| 656 | struct inode *ecryptfs_inode); | 690 | struct inode *ecryptfs_inode); |
| 657 | struct page *ecryptfs_get_locked_page(struct inode *inode, loff_t index); | 691 | struct page *ecryptfs_get_locked_page(struct inode *inode, loff_t index); |
| 658 | int ecryptfs_exorcise_daemon(struct ecryptfs_daemon *daemon); | ||
| 659 | int ecryptfs_find_daemon_by_euid(struct ecryptfs_daemon **daemon); | ||
| 660 | int ecryptfs_parse_packet_length(unsigned char *data, size_t *size, | 692 | int ecryptfs_parse_packet_length(unsigned char *data, size_t *size, |
| 661 | size_t *length_size); | 693 | size_t *length_size); |
| 662 | int ecryptfs_write_packet_length(char *dest, size_t size, | 694 | int ecryptfs_write_packet_length(char *dest, size_t size, |
| 663 | size_t *packet_size_length); | 695 | size_t *packet_size_length); |
| 696 | #ifdef CONFIG_ECRYPT_FS_MESSAGING | ||
| 664 | int ecryptfs_init_ecryptfs_miscdev(void); | 697 | int ecryptfs_init_ecryptfs_miscdev(void); |
| 665 | void ecryptfs_destroy_ecryptfs_miscdev(void); | 698 | void ecryptfs_destroy_ecryptfs_miscdev(void); |
| 666 | int ecryptfs_send_miscdev(char *data, size_t data_size, | 699 | int ecryptfs_send_miscdev(char *data, size_t data_size, |
| @@ -669,6 +702,9 @@ int ecryptfs_send_miscdev(char *data, size_t data_size, | |||
| 669 | void ecryptfs_msg_ctx_alloc_to_free(struct ecryptfs_msg_ctx *msg_ctx); | 702 | void ecryptfs_msg_ctx_alloc_to_free(struct ecryptfs_msg_ctx *msg_ctx); |
| 670 | int | 703 | int |
| 671 | ecryptfs_spawn_daemon(struct ecryptfs_daemon **daemon, struct file *file); | 704 | ecryptfs_spawn_daemon(struct ecryptfs_daemon **daemon, struct file *file); |
| 705 | int ecryptfs_exorcise_daemon(struct ecryptfs_daemon *daemon); | ||
| 706 | int ecryptfs_find_daemon_by_euid(struct ecryptfs_daemon **daemon); | ||
| 707 | #endif | ||
| 672 | int ecryptfs_init_kthread(void); | 708 | int ecryptfs_init_kthread(void); |
| 673 | void ecryptfs_destroy_kthread(void); | 709 | void ecryptfs_destroy_kthread(void); |
| 674 | int ecryptfs_privileged_open(struct file **lower_file, | 710 | int ecryptfs_privileged_open(struct file **lower_file, |
