forked from mirrors/linux
		
	crypto: ahash - ensure statesize is non-zero
Unlike shash algorithms, ahash drivers must implement export and import as their descriptors may contain hardware state and cannot be exported as is. Unfortunately some ahash drivers did not provide them and end up causing crashes with algif_hash. This patch adds a check to prevent these drivers from registering ahash algorithms until they are fixed. Cc: stable@vger.kernel.org Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
This commit is contained in:
		
							parent
							
								
									92b279070d
								
							
						
					
					
						commit
						8996eafdcb
					
				
					 1 changed files with 2 additions and 1 deletions
				
			
		|  | @ -544,7 +544,8 @@ static int ahash_prepare_alg(struct ahash_alg *alg) | ||||||
| 	struct crypto_alg *base = &alg->halg.base; | 	struct crypto_alg *base = &alg->halg.base; | ||||||
| 
 | 
 | ||||||
| 	if (alg->halg.digestsize > PAGE_SIZE / 8 || | 	if (alg->halg.digestsize > PAGE_SIZE / 8 || | ||||||
| 	    alg->halg.statesize > PAGE_SIZE / 8) | 	    alg->halg.statesize > PAGE_SIZE / 8 || | ||||||
|  | 	    alg->halg.statesize == 0) | ||||||
| 		return -EINVAL; | 		return -EINVAL; | ||||||
| 
 | 
 | ||||||
| 	base->cra_type = &crypto_ahash_type; | 	base->cra_type = &crypto_ahash_type; | ||||||
|  |  | ||||||
		Loading…
	
		Reference in a new issue
	
	 Russell King
						Russell King