Эх сурвалжийг харах

Merge git://github.com/herbertx/crypto

* git://github.com/herbertx/crypto:
  crypto: algapi - Fix build problem with NET disabled
  crypto: user - Fix rwsem leak in crypto_user
Linus Torvalds 13 жил өмнө
parent
commit
42a0ddcd48

+ 14 - 0
crypto/ablkcipher.c

@@ -383,6 +383,7 @@ static int crypto_init_ablkcipher_ops(struct crypto_tfm *tfm, u32 type,
 	return 0;
 	return 0;
 }
 }
 
 
+#ifdef CONFIG_NET
 static int crypto_ablkcipher_report(struct sk_buff *skb, struct crypto_alg *alg)
 static int crypto_ablkcipher_report(struct sk_buff *skb, struct crypto_alg *alg)
 {
 {
 	struct crypto_report_blkcipher rblkcipher;
 	struct crypto_report_blkcipher rblkcipher;
@@ -404,6 +405,12 @@ static int crypto_ablkcipher_report(struct sk_buff *skb, struct crypto_alg *alg)
 nla_put_failure:
 nla_put_failure:
 	return -EMSGSIZE;
 	return -EMSGSIZE;
 }
 }
+#else
+static int crypto_ablkcipher_report(struct sk_buff *skb, struct crypto_alg *alg)
+{
+	return -ENOSYS;
+}
+#endif
 
 
 static void crypto_ablkcipher_show(struct seq_file *m, struct crypto_alg *alg)
 static void crypto_ablkcipher_show(struct seq_file *m, struct crypto_alg *alg)
 	__attribute__ ((unused));
 	__attribute__ ((unused));
@@ -457,6 +464,7 @@ static int crypto_init_givcipher_ops(struct crypto_tfm *tfm, u32 type,
 	return 0;
 	return 0;
 }
 }
 
 
+#ifdef CONFIG_NET
 static int crypto_givcipher_report(struct sk_buff *skb, struct crypto_alg *alg)
 static int crypto_givcipher_report(struct sk_buff *skb, struct crypto_alg *alg)
 {
 {
 	struct crypto_report_blkcipher rblkcipher;
 	struct crypto_report_blkcipher rblkcipher;
@@ -478,6 +486,12 @@ static int crypto_givcipher_report(struct sk_buff *skb, struct crypto_alg *alg)
 nla_put_failure:
 nla_put_failure:
 	return -EMSGSIZE;
 	return -EMSGSIZE;
 }
 }
+#else
+static int crypto_givcipher_report(struct sk_buff *skb, struct crypto_alg *alg)
+{
+	return -ENOSYS;
+}
+#endif
 
 
 static void crypto_givcipher_show(struct seq_file *m, struct crypto_alg *alg)
 static void crypto_givcipher_show(struct seq_file *m, struct crypto_alg *alg)
 	__attribute__ ((unused));
 	__attribute__ ((unused));

+ 14 - 0
crypto/aead.c

@@ -111,6 +111,7 @@ static int crypto_init_aead_ops(struct crypto_tfm *tfm, u32 type, u32 mask)
 	return 0;
 	return 0;
 }
 }
 
 
+#ifdef CONFIG_NET
 static int crypto_aead_report(struct sk_buff *skb, struct crypto_alg *alg)
 static int crypto_aead_report(struct sk_buff *skb, struct crypto_alg *alg)
 {
 {
 	struct crypto_report_aead raead;
 	struct crypto_report_aead raead;
@@ -132,6 +133,12 @@ static int crypto_aead_report(struct sk_buff *skb, struct crypto_alg *alg)
 nla_put_failure:
 nla_put_failure:
 	return -EMSGSIZE;
 	return -EMSGSIZE;
 }
 }
+#else
+static int crypto_aead_report(struct sk_buff *skb, struct crypto_alg *alg)
+{
+	return -ENOSYS;
+}
+#endif
 
 
 static void crypto_aead_show(struct seq_file *m, struct crypto_alg *alg)
 static void crypto_aead_show(struct seq_file *m, struct crypto_alg *alg)
 	__attribute__ ((unused));
 	__attribute__ ((unused));
@@ -190,6 +197,7 @@ static int crypto_init_nivaead_ops(struct crypto_tfm *tfm, u32 type, u32 mask)
 	return 0;
 	return 0;
 }
 }
 
 
+#ifdef CONFIG_NET
 static int crypto_nivaead_report(struct sk_buff *skb, struct crypto_alg *alg)
 static int crypto_nivaead_report(struct sk_buff *skb, struct crypto_alg *alg)
 {
 {
 	struct crypto_report_aead raead;
 	struct crypto_report_aead raead;
@@ -210,6 +218,12 @@ static int crypto_nivaead_report(struct sk_buff *skb, struct crypto_alg *alg)
 nla_put_failure:
 nla_put_failure:
 	return -EMSGSIZE;
 	return -EMSGSIZE;
 }
 }
+#else
+static int crypto_nivaead_report(struct sk_buff *skb, struct crypto_alg *alg)
+{
+	return -ENOSYS;
+}
+#endif
 
 
 
 
 static void crypto_nivaead_show(struct seq_file *m, struct crypto_alg *alg)
 static void crypto_nivaead_show(struct seq_file *m, struct crypto_alg *alg)

+ 7 - 0
crypto/ahash.c

@@ -399,6 +399,7 @@ static unsigned int crypto_ahash_extsize(struct crypto_alg *alg)
 	return sizeof(struct crypto_shash *);
 	return sizeof(struct crypto_shash *);
 }
 }
 
 
+#ifdef CONFIG_NET
 static int crypto_ahash_report(struct sk_buff *skb, struct crypto_alg *alg)
 static int crypto_ahash_report(struct sk_buff *skb, struct crypto_alg *alg)
 {
 {
 	struct crypto_report_hash rhash;
 	struct crypto_report_hash rhash;
@@ -416,6 +417,12 @@ static int crypto_ahash_report(struct sk_buff *skb, struct crypto_alg *alg)
 nla_put_failure:
 nla_put_failure:
 	return -EMSGSIZE;
 	return -EMSGSIZE;
 }
 }
+#else
+static int crypto_ahash_report(struct sk_buff *skb, struct crypto_alg *alg)
+{
+	return -ENOSYS;
+}
+#endif
 
 
 static void crypto_ahash_show(struct seq_file *m, struct crypto_alg *alg)
 static void crypto_ahash_show(struct seq_file *m, struct crypto_alg *alg)
 	__attribute__ ((unused));
 	__attribute__ ((unused));

+ 7 - 0
crypto/blkcipher.c

@@ -494,6 +494,7 @@ static int crypto_init_blkcipher_ops(struct crypto_tfm *tfm, u32 type, u32 mask)
 		return crypto_init_blkcipher_ops_async(tfm);
 		return crypto_init_blkcipher_ops_async(tfm);
 }
 }
 
 
+#ifdef CONFIG_NET
 static int crypto_blkcipher_report(struct sk_buff *skb, struct crypto_alg *alg)
 static int crypto_blkcipher_report(struct sk_buff *skb, struct crypto_alg *alg)
 {
 {
 	struct crypto_report_blkcipher rblkcipher;
 	struct crypto_report_blkcipher rblkcipher;
@@ -515,6 +516,12 @@ static int crypto_blkcipher_report(struct sk_buff *skb, struct crypto_alg *alg)
 nla_put_failure:
 nla_put_failure:
 	return -EMSGSIZE;
 	return -EMSGSIZE;
 }
 }
+#else
+static int crypto_blkcipher_report(struct sk_buff *skb, struct crypto_alg *alg)
+{
+	return -ENOSYS;
+}
+#endif
 
 
 static void crypto_blkcipher_show(struct seq_file *m, struct crypto_alg *alg)
 static void crypto_blkcipher_show(struct seq_file *m, struct crypto_alg *alg)
 	__attribute__ ((unused));
 	__attribute__ ((unused));

+ 0 - 3
crypto/crypto_user.c

@@ -44,9 +44,6 @@ static struct crypto_alg *crypto_alg_match(struct crypto_user_alg *p, int exact)
 
 
 	down_read(&crypto_alg_sem);
 	down_read(&crypto_alg_sem);
 
 
-	if (list_empty(&crypto_alg_list))
-		return NULL;
-
 	list_for_each_entry(q, &crypto_alg_list, cra_list) {
 	list_for_each_entry(q, &crypto_alg_list, cra_list) {
 		int match = 0;
 		int match = 0;
 
 

+ 7 - 0
crypto/pcompress.c

@@ -48,6 +48,7 @@ static int crypto_pcomp_init_tfm(struct crypto_tfm *tfm)
 	return 0;
 	return 0;
 }
 }
 
 
+#ifdef CONFIG_NET
 static int crypto_pcomp_report(struct sk_buff *skb, struct crypto_alg *alg)
 static int crypto_pcomp_report(struct sk_buff *skb, struct crypto_alg *alg)
 {
 {
 	struct crypto_report_comp rpcomp;
 	struct crypto_report_comp rpcomp;
@@ -62,6 +63,12 @@ static int crypto_pcomp_report(struct sk_buff *skb, struct crypto_alg *alg)
 nla_put_failure:
 nla_put_failure:
 	return -EMSGSIZE;
 	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)
 static void crypto_pcomp_show(struct seq_file *m, struct crypto_alg *alg)
 	__attribute__ ((unused));
 	__attribute__ ((unused));

+ 7 - 0
crypto/rng.c

@@ -60,6 +60,7 @@ static int crypto_init_rng_ops(struct crypto_tfm *tfm, u32 type, u32 mask)
 	return 0;
 	return 0;
 }
 }
 
 
+#ifdef CONFIG_NET
 static int crypto_rng_report(struct sk_buff *skb, struct crypto_alg *alg)
 static int crypto_rng_report(struct sk_buff *skb, struct crypto_alg *alg)
 {
 {
 	struct crypto_report_rng rrng;
 	struct crypto_report_rng rrng;
@@ -76,6 +77,12 @@ static int crypto_rng_report(struct sk_buff *skb, struct crypto_alg *alg)
 nla_put_failure:
 nla_put_failure:
 	return -EMSGSIZE;
 	return -EMSGSIZE;
 }
 }
+#else
+static int crypto_rng_report(struct sk_buff *skb, struct crypto_alg *alg)
+{
+	return -ENOSYS;
+}
+#endif
 
 
 static void crypto_rng_show(struct seq_file *m, struct crypto_alg *alg)
 static void crypto_rng_show(struct seq_file *m, struct crypto_alg *alg)
 	__attribute__ ((unused));
 	__attribute__ ((unused));

+ 7 - 0
crypto/shash.c

@@ -524,6 +524,7 @@ static unsigned int crypto_shash_extsize(struct crypto_alg *alg)
 	return alg->cra_ctxsize;
 	return alg->cra_ctxsize;
 }
 }
 
 
+#ifdef CONFIG_NET
 static int crypto_shash_report(struct sk_buff *skb, struct crypto_alg *alg)
 static int crypto_shash_report(struct sk_buff *skb, struct crypto_alg *alg)
 {
 {
 	struct crypto_report_hash rhash;
 	struct crypto_report_hash rhash;
@@ -541,6 +542,12 @@ static int crypto_shash_report(struct sk_buff *skb, struct crypto_alg *alg)
 nla_put_failure:
 nla_put_failure:
 	return -EMSGSIZE;
 	return -EMSGSIZE;
 }
 }
+#else
+static int crypto_shash_report(struct sk_buff *skb, struct crypto_alg *alg)
+{
+	return -ENOSYS;
+}
+#endif
 
 
 static void crypto_shash_show(struct seq_file *m, struct crypto_alg *alg)
 static void crypto_shash_show(struct seq_file *m, struct crypto_alg *alg)
 	__attribute__ ((unused));
 	__attribute__ ((unused));