mirror of
				git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
				synced 2025-09-18 22:14:16 +00:00 
			
		
		
		
	blk-crypto: drop the NULL check from blk_crypto_put_keyslot()
Now that all callers of blk_crypto_put_keyslot() check for NULL before calling it, there is no need for blk_crypto_put_keyslot() to do the NULL check itself. Reviewed-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Eric Biggers <ebiggers@google.com> Link: https://lore.kernel.org/r/20230315183907.53675-2-ebiggers@kernel.org Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:
		
							parent
							
								
									5b8562f0e8
								
							
						
					
					
						commit
						4cf2c3ab2c
					
				
					 1 changed files with 4 additions and 10 deletions
				
			
		|  | @ -227,14 +227,13 @@ EXPORT_SYMBOL_GPL(blk_crypto_keyslot_index); | |||
|  * @profile: the crypto profile of the device the key will be used on | ||||
|  * @key: the key that will be used | ||||
|  * @slot_ptr: If a keyslot is allocated, an opaque pointer to the keyslot struct | ||||
|  *	      will be stored here; otherwise NULL will be stored here. | ||||
|  *	      will be stored here.  blk_crypto_put_keyslot() must be called | ||||
|  *	      later to release it.  Otherwise, NULL will be stored here. | ||||
|  * | ||||
|  * If the device has keyslots, this gets a keyslot that's been programmed with | ||||
|  * the specified key.  If the key is already in a slot, this reuses it; | ||||
|  * otherwise this waits for a slot to become idle and programs the key into it. | ||||
|  * | ||||
|  * This must be paired with a call to blk_crypto_put_keyslot(). | ||||
|  * | ||||
|  * Context: Process context. Takes and releases profile->lock. | ||||
|  * Return: BLK_STS_OK on success, meaning that either a keyslot was allocated or | ||||
|  *	   one wasn't needed; or a blk_status_t error on failure. | ||||
|  | @ -312,20 +311,15 @@ success: | |||
| 
 | ||||
| /**
 | ||||
|  * blk_crypto_put_keyslot() - Release a reference to a keyslot | ||||
|  * @slot: The keyslot to release the reference of (may be NULL). | ||||
|  * @slot: The keyslot to release the reference of | ||||
|  * | ||||
|  * Context: Any context. | ||||
|  */ | ||||
| void blk_crypto_put_keyslot(struct blk_crypto_keyslot *slot) | ||||
| { | ||||
| 	struct blk_crypto_profile *profile; | ||||
| 	struct blk_crypto_profile *profile = slot->profile; | ||||
| 	unsigned long flags; | ||||
| 
 | ||||
| 	if (!slot) | ||||
| 		return; | ||||
| 
 | ||||
| 	profile = slot->profile; | ||||
| 
 | ||||
| 	if (atomic_dec_and_lock_irqsave(&slot->slot_refs, | ||||
| 					&profile->idle_slots_lock, flags)) { | ||||
| 		list_add_tail(&slot->idle_slot_node, &profile->idle_slots); | ||||
|  |  | |||
		Loading…
	
	Add table
		
		Reference in a new issue
	
	 Eric Biggers
						Eric Biggers