forked from mirrors/linux
		
	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>
This commit is contained in:
		
							parent
							
								
									1afe593b42
								
							
						
					
					
						commit
						17bc197022
					
				
					 1 changed files with 4 additions and 3 deletions
				
			
		| 
						 | 
					@ -9,6 +9,8 @@
 | 
				
			||||||
 * any later version.
 | 
					 * any later version.
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include <crypto/hash.h>
 | 
				
			||||||
 | 
					#include <crypto/skcipher.h>
 | 
				
			||||||
#include <linux/module.h>
 | 
					#include <linux/module.h>
 | 
				
			||||||
#include <linux/kernel.h>
 | 
					#include <linux/kernel.h>
 | 
				
			||||||
#include <linux/pfkeyv2.h>
 | 
					#include <linux/pfkeyv2.h>
 | 
				
			||||||
| 
						 | 
					@ -782,14 +784,13 @@ void xfrm_probe_algs(void)
 | 
				
			||||||
	BUG_ON(in_softirq());
 | 
						BUG_ON(in_softirq());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	for (i = 0; i < aalg_entries(); i++) {
 | 
						for (i = 0; i < aalg_entries(); i++) {
 | 
				
			||||||
		status = crypto_has_hash(aalg_list[i].name, 0,
 | 
							status = crypto_has_ahash(aalg_list[i].name, 0, 0);
 | 
				
			||||||
					 CRYPTO_ALG_ASYNC);
 | 
					 | 
				
			||||||
		if (aalg_list[i].available != status)
 | 
							if (aalg_list[i].available != status)
 | 
				
			||||||
			aalg_list[i].available = status;
 | 
								aalg_list[i].available = status;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	for (i = 0; i < ealg_entries(); i++) {
 | 
						for (i = 0; i < ealg_entries(); i++) {
 | 
				
			||||||
		status = crypto_has_ablkcipher(ealg_list[i].name, 0, 0);
 | 
							status = crypto_has_skcipher(ealg_list[i].name, 0, 0);
 | 
				
			||||||
		if (ealg_list[i].available != status)
 | 
							if (ealg_list[i].available != status)
 | 
				
			||||||
			ealg_list[i].available = status;
 | 
								ealg_list[i].available = status;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in a new issue