aboutsummaryrefslogtreecommitdiffstats
path: root/net/xfrm
diff options
context:
space:
mode:
authorHerbert Xu <herbert@gondor.apana.org.au>2016-01-24 08:19:11 -0500
committerHerbert Xu <herbert@gondor.apana.org.au>2016-01-27 07:36:07 -0500
commit17bc197022212a8b439b213b2f23a8603a784e56 (patch)
treebb3f790c82f9a06041a2116e6f47d3d6130405c4 /net/xfrm
parent1afe593b423918ffd5e449cec858b1591cd31781 (diff)
ipsec: Use skcipher and ahash when probing algorithms
This patch removes the last reference to hash and ablkcipher from IPsec and replaces them with ahash and skcipher respectively. For skcipher there is currently no difference at all, while for ahash the current code is actually buggy and would prevent asynchronous algorithms from being discovered. Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Acked-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/xfrm')
-rw-r--r--net/xfrm/xfrm_algo.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/net/xfrm/xfrm_algo.c b/net/xfrm/xfrm_algo.c
index f07224d8b88f..250e567ba3d6 100644
--- a/net/xfrm/xfrm_algo.c
+++ b/net/xfrm/xfrm_algo.c
@@ -9,6 +9,8 @@
9 * any later version. 9 * any later version.
10 */ 10 */
11 11
12#include <crypto/hash.h>
13#include <crypto/skcipher.h>
12#include <linux/module.h> 14#include <linux/module.h>
13#include <linux/kernel.h> 15#include <linux/kernel.h>
14#include <linux/pfkeyv2.h> 16#include <linux/pfkeyv2.h>
@@ -782,14 +784,13 @@ void xfrm_probe_algs(void)
782 BUG_ON(in_softirq()); 784 BUG_ON(in_softirq());
783 785
784 for (i = 0; i < aalg_entries(); i++) { 786 for (i = 0; i < aalg_entries(); i++) {
785 status = crypto_has_hash(aalg_list[i].name, 0, 787 status = crypto_has_ahash(aalg_list[i].name, 0, 0);
786 CRYPTO_ALG_ASYNC);
787 if (aalg_list[i].available != status) 788 if (aalg_list[i].available != status)
788 aalg_list[i].available = status; 789 aalg_list[i].available = status;
789 } 790 }
790 791
791 for (i = 0; i < ealg_entries(); i++) { 792 for (i = 0; i < ealg_entries(); i++) {
792 status = crypto_has_ablkcipher(ealg_list[i].name, 0, 0); 793 status = crypto_has_skcipher(ealg_list[i].name, 0, 0);
793 if (ealg_list[i].available != status) 794 if (ealg_list[i].available != status)
794 ealg_list[i].available = status; 795 ealg_list[i].available = status;
795 } 796 }