mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 10:40:15 +02:00 
			
		
		
		
	crypto: skcipher - Set tfm in SYNC_SKCIPHER_REQUEST_ON_STACK
Set the request tfm directly in SYNC_SKCIPHER_REQUEST_ON_STACK since the tfm is already available. Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
This commit is contained in:
		
							parent
							
								
									7505436e29
								
							
						
					
					
						commit
						12a2b40d49
					
				
					 1 changed files with 13 additions and 6 deletions
				
			
		| 
						 | 
				
			
			@ -214,16 +214,17 @@ struct lskcipher_alg {
 | 
			
		|||
 | 
			
		||||
#define MAX_SYNC_SKCIPHER_REQSIZE      384
 | 
			
		||||
/*
 | 
			
		||||
 * This performs a type-check against the "tfm" argument to make sure
 | 
			
		||||
 * This performs a type-check against the "_tfm" argument to make sure
 | 
			
		||||
 * all users have the correct skcipher tfm for doing on-stack requests.
 | 
			
		||||
 */
 | 
			
		||||
#define SYNC_SKCIPHER_REQUEST_ON_STACK(name, tfm) \
 | 
			
		||||
#define SYNC_SKCIPHER_REQUEST_ON_STACK(name, _tfm) \
 | 
			
		||||
	char __##name##_desc[sizeof(struct skcipher_request) + \
 | 
			
		||||
			     MAX_SYNC_SKCIPHER_REQSIZE + \
 | 
			
		||||
			     (!(sizeof((struct crypto_sync_skcipher *)1 == \
 | 
			
		||||
				       (typeof(tfm))1))) \
 | 
			
		||||
			     MAX_SYNC_SKCIPHER_REQSIZE \
 | 
			
		||||
			    ] CRYPTO_MINALIGN_ATTR; \
 | 
			
		||||
	struct skcipher_request *name = (void *)__##name##_desc
 | 
			
		||||
	struct skcipher_request *name = \
 | 
			
		||||
		(((struct skcipher_request *)__##name##_desc)->base.tfm = \
 | 
			
		||||
			crypto_sync_skcipher_tfm((_tfm)), \
 | 
			
		||||
		 (void *)__##name##_desc)
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * DOC: Symmetric Key Cipher API
 | 
			
		||||
| 
						 | 
				
			
			@ -311,6 +312,12 @@ static inline struct crypto_tfm *crypto_lskcipher_tfm(
 | 
			
		|||
	return &tfm->base;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static inline struct crypto_tfm *crypto_sync_skcipher_tfm(
 | 
			
		||||
	struct crypto_sync_skcipher *tfm)
 | 
			
		||||
{
 | 
			
		||||
	return crypto_skcipher_tfm(&tfm->base);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * crypto_free_skcipher() - zeroize and free cipher handle
 | 
			
		||||
 * @tfm: cipher handle to be freed
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in a new issue