forked from mirrors/linux
		
	crypto: scompress - Fix scratch allocation failure handling
If the scratch allocation fails, all subsequent allocations will
silently succeed without actually allocating anything.  Fix this
by only incrementing users when the allocation succeeds.
Fixes: 6a8487a1f2 ("crypto: scompress - defer allocation of scratch buffer to first use")
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Acked-by: Ard Biesheuvel <ardb@kernel.org>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
			
			
This commit is contained in:
		
							parent
							
								
									7e0969bae4
								
							
						
					
					
						commit
						ddd0a42671
					
				
					 1 changed files with 5 additions and 1 deletions
				
			
		|  | @ -159,8 +159,12 @@ static int crypto_scomp_init_tfm(struct crypto_tfm *tfm) | |||
| 		if (ret) | ||||
| 			goto unlock; | ||||
| 	} | ||||
| 	if (!scomp_scratch_users++) | ||||
| 	if (!scomp_scratch_users) { | ||||
| 		ret = crypto_scomp_alloc_scratches(); | ||||
| 		if (ret) | ||||
| 			goto unlock; | ||||
| 		scomp_scratch_users++; | ||||
| 	} | ||||
| unlock: | ||||
| 	mutex_unlock(&scomp_lock); | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue
	
	 Herbert Xu
						Herbert Xu