diff options
| author | Steffen Klassert <steffen.klassert@secunet.com> | 2011-09-27 01:46:32 -0400 |
|---|---|---|
| committer | Herbert Xu <herbert@gondor.apana.org.au> | 2011-10-21 08:24:06 -0400 |
| commit | a55465dca7befd31f4ffa54508d4e2d1e701b8dc (patch) | |
| tree | bbc646c2b5bc6f418e1f45e40da78c533b9729b8 /crypto | |
| parent | b735d0a91556fd9fd5bbeeebd7d327c2d92c36c8 (diff) | |
crypto: Add userspace report for pcompress type algorithms
Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'crypto')
| -rw-r--r-- | crypto/pcompress.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/crypto/pcompress.c b/crypto/pcompress.c index f7c4a7d7412e..fefda78a6a2a 100644 --- a/crypto/pcompress.c +++ b/crypto/pcompress.c | |||
| @@ -24,6 +24,8 @@ | |||
| 24 | #include <linux/module.h> | 24 | #include <linux/module.h> |
| 25 | #include <linux/seq_file.h> | 25 | #include <linux/seq_file.h> |
| 26 | #include <linux/string.h> | 26 | #include <linux/string.h> |
| 27 | #include <linux/cryptouser.h> | ||
| 28 | #include <net/netlink.h> | ||
| 27 | 29 | ||
| 28 | #include <crypto/compress.h> | 30 | #include <crypto/compress.h> |
| 29 | #include <crypto/internal/compress.h> | 31 | #include <crypto/internal/compress.h> |
| @@ -46,6 +48,21 @@ static int crypto_pcomp_init_tfm(struct crypto_tfm *tfm) | |||
| 46 | return 0; | 48 | return 0; |
| 47 | } | 49 | } |
| 48 | 50 | ||
| 51 | static int crypto_pcomp_report(struct sk_buff *skb, struct crypto_alg *alg) | ||
| 52 | { | ||
| 53 | struct crypto_report_comp rpcomp; | ||
| 54 | |||
| 55 | snprintf(rpcomp.type, CRYPTO_MAX_ALG_NAME, "%s", "pcomp"); | ||
| 56 | |||
| 57 | NLA_PUT(skb, CRYPTOCFGA_REPORT_COMPRESS, | ||
| 58 | sizeof(struct crypto_report_comp), &rpcomp); | ||
| 59 | |||
| 60 | return 0; | ||
| 61 | |||
| 62 | nla_put_failure: | ||
| 63 | return -EMSGSIZE; | ||
| 64 | } | ||
| 65 | |||
| 49 | static void crypto_pcomp_show(struct seq_file *m, struct crypto_alg *alg) | 66 | static void crypto_pcomp_show(struct seq_file *m, struct crypto_alg *alg) |
| 50 | __attribute__ ((unused)); | 67 | __attribute__ ((unused)); |
| 51 | static void crypto_pcomp_show(struct seq_file *m, struct crypto_alg *alg) | 68 | static void crypto_pcomp_show(struct seq_file *m, struct crypto_alg *alg) |
| @@ -60,6 +77,7 @@ static const struct crypto_type crypto_pcomp_type = { | |||
| 60 | #ifdef CONFIG_PROC_FS | 77 | #ifdef CONFIG_PROC_FS |
| 61 | .show = crypto_pcomp_show, | 78 | .show = crypto_pcomp_show, |
| 62 | #endif | 79 | #endif |
| 80 | .report = crypto_pcomp_report, | ||
| 63 | .maskclear = ~CRYPTO_ALG_TYPE_MASK, | 81 | .maskclear = ~CRYPTO_ALG_TYPE_MASK, |
| 64 | .maskset = CRYPTO_ALG_TYPE_MASK, | 82 | .maskset = CRYPTO_ALG_TYPE_MASK, |
| 65 | .type = CRYPTO_ALG_TYPE_PCOMPRESS, | 83 | .type = CRYPTO_ALG_TYPE_PCOMPRESS, |
