mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 02:30:34 +02:00 
			
		
		
		
	tpm_tis: further simplify calculation of ordinal duration
commit 07b133e606 ("char/tpm: simplify duration calculation and
eliminate smatch warning.") includes a misleading test that is always
false. The tpm_ordinal_duration table is only valid for TPM_PROTECTED
ordinals where the higher 16 bits are all 0, anyway.
Signed-off-by: Martin Wilck <Martin.Wilck@ts.fujitsu.com>
Reviewed-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
Tested-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
Acked-by: Peter Huewe <peterhuewe@gmx.de>
			
			
This commit is contained in:
		
							parent
							
								
									ebd68df3f2
								
							
						
					
					
						commit
						f728643001
					
				
					 1 changed files with 5 additions and 3 deletions
				
			
		| 
						 | 
				
			
			@ -310,10 +310,12 @@ unsigned long tpm_calc_ordinal_duration(struct tpm_chip *chip,
 | 
			
		|||
{
 | 
			
		||||
	int duration_idx = TPM_UNDEFINED;
 | 
			
		||||
	int duration = 0;
 | 
			
		||||
	u8 category = (ordinal >> 24) & 0xFF;
 | 
			
		||||
 | 
			
		||||
	if ((category == TPM_PROTECTED_COMMAND && ordinal < TPM_MAX_ORDINAL) ||
 | 
			
		||||
	    (category == TPM_CONNECTION_COMMAND && ordinal < TSC_MAX_ORDINAL))
 | 
			
		||||
	/*
 | 
			
		||||
	 * We only have a duration table for protected commands, where the upper
 | 
			
		||||
	 * 16 bits are 0. For the few other ordinals the fallback will be used.
 | 
			
		||||
	 */
 | 
			
		||||
	if (ordinal < TPM_MAX_ORDINAL)
 | 
			
		||||
		duration_idx = tpm_ordinal_duration[ordinal];
 | 
			
		||||
 | 
			
		||||
	if (duration_idx != TPM_UNDEFINED)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in a new issue