diff options
Diffstat (limited to 'crypto/pcompress.c')
| -rw-r--r-- | crypto/pcompress.c | 24 | 
1 files changed, 24 insertions, 0 deletions
diff --git a/crypto/pcompress.c b/crypto/pcompress.c index f7c4a7d7412..7140fe70c7a 100644 --- a/crypto/pcompress.c +++ b/crypto/pcompress.c @@ -24,6 +24,8 @@  #include <linux/module.h>  #include <linux/seq_file.h>  #include <linux/string.h> +#include <linux/cryptouser.h> +#include <net/netlink.h>  #include <crypto/compress.h>  #include <crypto/internal/compress.h> @@ -46,6 +48,27 @@ static int crypto_pcomp_init_tfm(struct crypto_tfm *tfm)  	return 0;  } +#ifdef CONFIG_NET +static int crypto_pcomp_report(struct sk_buff *skb, struct crypto_alg *alg) +{ +	struct crypto_report_comp rpcomp; + +	strncpy(rpcomp.type, "pcomp", sizeof(rpcomp.type)); +	if (nla_put(skb, CRYPTOCFGA_REPORT_COMPRESS, +		    sizeof(struct crypto_report_comp), &rpcomp)) +		goto nla_put_failure; +	return 0; + +nla_put_failure: +	return -EMSGSIZE; +} +#else +static int crypto_pcomp_report(struct sk_buff *skb, struct crypto_alg *alg) +{ +	return -ENOSYS; +} +#endif +  static void crypto_pcomp_show(struct seq_file *m, struct crypto_alg *alg)  	__attribute__ ((unused));  static void crypto_pcomp_show(struct seq_file *m, struct crypto_alg *alg) @@ -60,6 +83,7 @@ static const struct crypto_type crypto_pcomp_type = {  #ifdef CONFIG_PROC_FS  	.show		= crypto_pcomp_show,  #endif +	.report		= crypto_pcomp_report,  	.maskclear	= ~CRYPTO_ALG_TYPE_MASK,  	.maskset	= CRYPTO_ALG_TYPE_MASK,  	.type		= CRYPTO_ALG_TYPE_PCOMPRESS,  | 
