diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2011-11-01 12:24:41 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2011-11-01 12:24:41 -0400 |
| commit | dc47d3810cdcb4f32bfa31d50f26af97aced0638 (patch) | |
| tree | f1574adeaae857d935ad9c2e08a19727e54ef14a /include/linux | |
| parent | f6d90b4f9ce018bff429d6e01ee672de712b8641 (diff) | |
| parent | 5db017aa2809c49ca0a43b0f3ed1267e6be60883 (diff) | |
Merge git://github.com/herbertx/crypto
* git://github.com/herbertx/crypto: (48 commits)
crypto: user - Depend on NET instead of selecting it
crypto: user - Add dependency on NET
crypto: talitos - handle descriptor not found in error path
crypto: user - Initialise match in crypto_alg_match
crypto: testmgr - add twofish tests
crypto: testmgr - add blowfish test-vectors
crypto: Make hifn_795x build depend on !ARCH_DMA_ADDR_T_64BIT
crypto: twofish-x86_64-3way - fix ctr blocksize to 1
crypto: blowfish-x86_64 - fix ctr blocksize to 1
crypto: whirlpool - count rounds from 0
crypto: Add userspace report for compress type algorithms
crypto: Add userspace report for cipher type algorithms
crypto: Add userspace report for rng type algorithms
crypto: Add userspace report for pcompress type algorithms
crypto: Add userspace report for nivaead type algorithms
crypto: Add userspace report for aead type algorithms
crypto: Add userspace report for givcipher type algorithms
crypto: Add userspace report for ablkcipher type algorithms
crypto: Add userspace report for blkcipher type algorithms
crypto: Add userspace report for ahash type algorithms
...
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/crypto.h | 5 | ||||
| -rw-r--r-- | include/linux/cryptouser.h | 102 | ||||
| -rw-r--r-- | include/linux/netlink.h | 1 |
3 files changed, 108 insertions, 0 deletions
diff --git a/include/linux/crypto.h b/include/linux/crypto.h index e5e468e9133d..de9adec5693c 100644 --- a/include/linux/crypto.h +++ b/include/linux/crypto.h | |||
| @@ -72,6 +72,11 @@ | |||
| 72 | #define CRYPTO_ALG_TESTED 0x00000400 | 72 | #define CRYPTO_ALG_TESTED 0x00000400 |
| 73 | 73 | ||
| 74 | /* | 74 | /* |
| 75 | * Set if the algorithm is an instance that is build from templates. | ||
| 76 | */ | ||
| 77 | #define CRYPTO_ALG_INSTANCE 0x00000800 | ||
| 78 | |||
| 79 | /* | ||
| 75 | * Transform masks and values (for crt_flags). | 80 | * Transform masks and values (for crt_flags). |
| 76 | */ | 81 | */ |
| 77 | #define CRYPTO_TFM_REQ_MASK 0x000fff00 | 82 | #define CRYPTO_TFM_REQ_MASK 0x000fff00 |
diff --git a/include/linux/cryptouser.h b/include/linux/cryptouser.h new file mode 100644 index 000000000000..532fb58f16bf --- /dev/null +++ b/include/linux/cryptouser.h | |||
| @@ -0,0 +1,102 @@ | |||
| 1 | /* | ||
| 2 | * Crypto user configuration API. | ||
| 3 | * | ||
| 4 | * Copyright (C) 2011 secunet Security Networks AG | ||
| 5 | * Copyright (C) 2011 Steffen Klassert <steffen.klassert@secunet.com> | ||
| 6 | * | ||
| 7 | * This program is free software; you can redistribute it and/or modify it | ||
| 8 | * under the terms and conditions of the GNU General Public License, | ||
| 9 | * version 2, as published by the Free Software Foundation. | ||
| 10 | * | ||
| 11 | * This program is distributed in the hope it will be useful, but WITHOUT | ||
| 12 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | ||
| 13 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for | ||
| 14 | * more details. | ||
| 15 | * | ||
| 16 | * You should have received a copy of the GNU General Public License along with | ||
| 17 | * this program; if not, write to the Free Software Foundation, Inc., | ||
| 18 | * 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. | ||
| 19 | */ | ||
| 20 | |||
| 21 | /* Netlink configuration messages. */ | ||
| 22 | enum { | ||
| 23 | CRYPTO_MSG_BASE = 0x10, | ||
| 24 | CRYPTO_MSG_NEWALG = 0x10, | ||
| 25 | CRYPTO_MSG_DELALG, | ||
| 26 | CRYPTO_MSG_UPDATEALG, | ||
| 27 | CRYPTO_MSG_GETALG, | ||
| 28 | __CRYPTO_MSG_MAX | ||
| 29 | }; | ||
| 30 | #define CRYPTO_MSG_MAX (__CRYPTO_MSG_MAX - 1) | ||
| 31 | #define CRYPTO_NR_MSGTYPES (CRYPTO_MSG_MAX + 1 - CRYPTO_MSG_BASE) | ||
| 32 | |||
| 33 | #define CRYPTO_MAX_NAME CRYPTO_MAX_ALG_NAME | ||
| 34 | |||
| 35 | /* Netlink message attributes. */ | ||
| 36 | enum crypto_attr_type_t { | ||
| 37 | CRYPTOCFGA_UNSPEC, | ||
| 38 | CRYPTOCFGA_PRIORITY_VAL, /* __u32 */ | ||
| 39 | CRYPTOCFGA_REPORT_LARVAL, /* struct crypto_report_larval */ | ||
| 40 | CRYPTOCFGA_REPORT_HASH, /* struct crypto_report_hash */ | ||
| 41 | CRYPTOCFGA_REPORT_BLKCIPHER, /* struct crypto_report_blkcipher */ | ||
| 42 | CRYPTOCFGA_REPORT_AEAD, /* struct crypto_report_aead */ | ||
| 43 | CRYPTOCFGA_REPORT_COMPRESS, /* struct crypto_report_comp */ | ||
| 44 | CRYPTOCFGA_REPORT_RNG, /* struct crypto_report_rng */ | ||
| 45 | CRYPTOCFGA_REPORT_CIPHER, /* struct crypto_report_cipher */ | ||
| 46 | __CRYPTOCFGA_MAX | ||
| 47 | |||
| 48 | #define CRYPTOCFGA_MAX (__CRYPTOCFGA_MAX - 1) | ||
| 49 | }; | ||
| 50 | |||
| 51 | struct crypto_user_alg { | ||
| 52 | char cru_name[CRYPTO_MAX_ALG_NAME]; | ||
| 53 | char cru_driver_name[CRYPTO_MAX_ALG_NAME]; | ||
| 54 | char cru_module_name[CRYPTO_MAX_ALG_NAME]; | ||
| 55 | __u32 cru_type; | ||
| 56 | __u32 cru_mask; | ||
| 57 | __u32 cru_refcnt; | ||
| 58 | __u32 cru_flags; | ||
| 59 | }; | ||
| 60 | |||
| 61 | struct crypto_report_larval { | ||
| 62 | char type[CRYPTO_MAX_NAME]; | ||
| 63 | }; | ||
| 64 | |||
| 65 | struct crypto_report_hash { | ||
| 66 | char type[CRYPTO_MAX_NAME]; | ||
| 67 | unsigned int blocksize; | ||
| 68 | unsigned int digestsize; | ||
| 69 | }; | ||
| 70 | |||
| 71 | struct crypto_report_cipher { | ||
| 72 | char type[CRYPTO_MAX_ALG_NAME]; | ||
| 73 | unsigned int blocksize; | ||
| 74 | unsigned int min_keysize; | ||
| 75 | unsigned int max_keysize; | ||
| 76 | }; | ||
| 77 | |||
| 78 | struct crypto_report_blkcipher { | ||
| 79 | char type[CRYPTO_MAX_NAME]; | ||
| 80 | char geniv[CRYPTO_MAX_NAME]; | ||
| 81 | unsigned int blocksize; | ||
| 82 | unsigned int min_keysize; | ||
| 83 | unsigned int max_keysize; | ||
| 84 | unsigned int ivsize; | ||
| 85 | }; | ||
| 86 | |||
| 87 | struct crypto_report_aead { | ||
| 88 | char type[CRYPTO_MAX_NAME]; | ||
| 89 | char geniv[CRYPTO_MAX_NAME]; | ||
| 90 | unsigned int blocksize; | ||
| 91 | unsigned int maxauthsize; | ||
| 92 | unsigned int ivsize; | ||
| 93 | }; | ||
| 94 | |||
| 95 | struct crypto_report_comp { | ||
| 96 | char type[CRYPTO_MAX_NAME]; | ||
| 97 | }; | ||
| 98 | |||
| 99 | struct crypto_report_rng { | ||
| 100 | char type[CRYPTO_MAX_NAME]; | ||
| 101 | unsigned int seedsize; | ||
| 102 | }; | ||
diff --git a/include/linux/netlink.h b/include/linux/netlink.h index 8180cd9d73d5..8374d2967362 100644 --- a/include/linux/netlink.h +++ b/include/linux/netlink.h | |||
| @@ -25,6 +25,7 @@ | |||
| 25 | #define NETLINK_SCSITRANSPORT 18 /* SCSI Transports */ | 25 | #define NETLINK_SCSITRANSPORT 18 /* SCSI Transports */ |
| 26 | #define NETLINK_ECRYPTFS 19 | 26 | #define NETLINK_ECRYPTFS 19 |
| 27 | #define NETLINK_RDMA 20 | 27 | #define NETLINK_RDMA 20 |
| 28 | #define NETLINK_CRYPTO 21 /* Crypto layer */ | ||
| 28 | 29 | ||
| 29 | #define MAX_LINKS 32 | 30 | #define MAX_LINKS 32 |
| 30 | 31 | ||
