xfrm_algo: probe asynchronous block ciphers instead of synchronous
authorJussi Kivilinna <jussi.kivilinna@mbnet.fi>
Fri, 28 Dec 2012 10:04:53 +0000 (12:04 +0200)
committerSteffen Klassert <steffen.klassert@secunet.com>
Tue, 8 Jan 2013 06:01:52 +0000 (07:01 +0100)
IPSEC uses block ciphers asynchronous, but probes only for synchronous block
ciphers and makes ealg entries only available if synchronous block cipher is
found. So with setup, where hardware crypto driver registers asynchronous
block ciphers and software crypto module is not build, ealg is not marked
as being available.

Use crypto_has_ablkcipher instead and remove ASYNC mask.

Signed-off-by: Jussi Kivilinna <jussi.kivilinna@mbnet.fi>
Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
net/xfrm/xfrm_algo.c

index 4ce2d93162c12acbf1b43577a6e1198af2cba9c5..f9a54955474081733669f3eb8af11ec7fc2432ea 100644 (file)
@@ -700,8 +700,7 @@ void xfrm_probe_algs(void)
        }
 
        for (i = 0; i < ealg_entries(); i++) {
-               status = crypto_has_blkcipher(ealg_list[i].name, 0,
-                                             CRYPTO_ALG_ASYNC);
+               status = crypto_has_ablkcipher(ealg_list[i].name, 0, 0);
                if (ealg_list[i].available != status)
                        ealg_list[i].available = status;
        }