mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 02:30:34 +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
 | 
					#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.
 | 
					 * 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) + \
 | 
						char __##name##_desc[sizeof(struct skcipher_request) + \
 | 
				
			||||||
			     MAX_SYNC_SKCIPHER_REQSIZE + \
 | 
								     MAX_SYNC_SKCIPHER_REQSIZE \
 | 
				
			||||||
			     (!(sizeof((struct crypto_sync_skcipher *)1 == \
 | 
					 | 
				
			||||||
				       (typeof(tfm))1))) \
 | 
					 | 
				
			||||||
			    ] CRYPTO_MINALIGN_ATTR; \
 | 
								    ] 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
 | 
					 * DOC: Symmetric Key Cipher API
 | 
				
			||||||
| 
						 | 
					@ -311,6 +312,12 @@ static inline struct crypto_tfm *crypto_lskcipher_tfm(
 | 
				
			||||||
	return &tfm->base;
 | 
						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
 | 
					 * crypto_free_skcipher() - zeroize and free cipher handle
 | 
				
			||||||
 * @tfm: cipher handle to be freed
 | 
					 * @tfm: cipher handle to be freed
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in a new issue