mirror of
				https://github.com/torvalds/linux.git
				synced 2025-10-30 00:06:59 +02:00 
			
		
		
		
	s390/zcrypt: Use kvcalloc() instead of kvmalloc_array()
sparse warns about a large memset() call within zcrypt_device_status_mask_ext(): drivers/s390/crypto/zcrypt_api.c:1303:15: warning: memset with byte count of 262144 Get rid of this warning by making sure that all callers of this function allocate memory with __GFP_ZERO, which zeroes memory already at allocation time, which again allows to remove the memset() call. Reviewed-by: Harald Freudenberger <freude@linux.ibm.com> Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
This commit is contained in:
		
							parent
							
								
									d890e6af50
								
							
						
					
					
						commit
						c1248638f8
					
				
					 3 changed files with 12 additions and 15 deletions
				
			
		|  | @ -1300,9 +1300,6 @@ void zcrypt_device_status_mask_ext(struct zcrypt_device_status_ext *devstatus) | ||||||
| 	struct zcrypt_device_status_ext *stat; | 	struct zcrypt_device_status_ext *stat; | ||||||
| 	int card, queue; | 	int card, queue; | ||||||
| 
 | 
 | ||||||
| 	memset(devstatus, 0, MAX_ZDEV_ENTRIES_EXT |  | ||||||
| 	       * sizeof(struct zcrypt_device_status_ext)); |  | ||||||
| 
 |  | ||||||
| 	spin_lock(&zcrypt_list_lock); | 	spin_lock(&zcrypt_list_lock); | ||||||
| 	for_each_zcrypt_card(zc) { | 	for_each_zcrypt_card(zc) { | ||||||
| 		for_each_zcrypt_queue(zq, zc) { | 		for_each_zcrypt_queue(zq, zc) { | ||||||
|  | @ -1607,9 +1604,9 @@ static long zcrypt_unlocked_ioctl(struct file *filp, unsigned int cmd, | ||||||
| 		size_t total_size = MAX_ZDEV_ENTRIES_EXT | 		size_t total_size = MAX_ZDEV_ENTRIES_EXT | ||||||
| 			* sizeof(struct zcrypt_device_status_ext); | 			* sizeof(struct zcrypt_device_status_ext); | ||||||
| 
 | 
 | ||||||
| 		device_status = kvmalloc_array(MAX_ZDEV_ENTRIES_EXT, | 		device_status = kvcalloc(MAX_ZDEV_ENTRIES_EXT, | ||||||
| 					       sizeof(struct zcrypt_device_status_ext), | 					 sizeof(struct zcrypt_device_status_ext), | ||||||
| 					       GFP_KERNEL); | 					 GFP_KERNEL); | ||||||
| 		if (!device_status) | 		if (!device_status) | ||||||
| 			return -ENOMEM; | 			return -ENOMEM; | ||||||
| 		zcrypt_device_status_mask_ext(device_status); | 		zcrypt_device_status_mask_ext(device_status); | ||||||
|  |  | ||||||
|  | @ -1762,9 +1762,9 @@ static int findcard(u64 mkvp, u16 *pcardnr, u16 *pdomain, | ||||||
| 		return -EINVAL; | 		return -EINVAL; | ||||||
| 
 | 
 | ||||||
| 	/* fetch status of all crypto cards */ | 	/* fetch status of all crypto cards */ | ||||||
| 	device_status = kvmalloc_array(MAX_ZDEV_ENTRIES_EXT, | 	device_status = kvcalloc(MAX_ZDEV_ENTRIES_EXT, | ||||||
| 				       sizeof(struct zcrypt_device_status_ext), | 				 sizeof(struct zcrypt_device_status_ext), | ||||||
| 				       GFP_KERNEL); | 				 GFP_KERNEL); | ||||||
| 	if (!device_status) | 	if (!device_status) | ||||||
| 		return -ENOMEM; | 		return -ENOMEM; | ||||||
| 	zcrypt_device_status_mask_ext(device_status); | 	zcrypt_device_status_mask_ext(device_status); | ||||||
|  | @ -1878,9 +1878,9 @@ int cca_findcard2(u32 **apqns, u32 *nr_apqns, u16 cardnr, u16 domain, | ||||||
| 	struct cca_info ci; | 	struct cca_info ci; | ||||||
| 
 | 
 | ||||||
| 	/* fetch status of all crypto cards */ | 	/* fetch status of all crypto cards */ | ||||||
| 	device_status = kvmalloc_array(MAX_ZDEV_ENTRIES_EXT, | 	device_status = kvcalloc(MAX_ZDEV_ENTRIES_EXT, | ||||||
| 				       sizeof(struct zcrypt_device_status_ext), | 				 sizeof(struct zcrypt_device_status_ext), | ||||||
| 				       GFP_KERNEL); | 				 GFP_KERNEL); | ||||||
| 	if (!device_status) | 	if (!device_status) | ||||||
| 		return -ENOMEM; | 		return -ENOMEM; | ||||||
| 	zcrypt_device_status_mask_ext(device_status); | 	zcrypt_device_status_mask_ext(device_status); | ||||||
|  |  | ||||||
|  | @ -1588,9 +1588,9 @@ int ep11_findcard2(u32 **apqns, u32 *nr_apqns, u16 cardnr, u16 domain, | ||||||
| 	struct ep11_card_info eci; | 	struct ep11_card_info eci; | ||||||
| 
 | 
 | ||||||
| 	/* fetch status of all crypto cards */ | 	/* fetch status of all crypto cards */ | ||||||
| 	device_status = kvmalloc_array(MAX_ZDEV_ENTRIES_EXT, | 	device_status = kvcalloc(MAX_ZDEV_ENTRIES_EXT, | ||||||
| 				       sizeof(struct zcrypt_device_status_ext), | 				 sizeof(struct zcrypt_device_status_ext), | ||||||
| 				       GFP_KERNEL); | 				 GFP_KERNEL); | ||||||
| 	if (!device_status) | 	if (!device_status) | ||||||
| 		return -ENOMEM; | 		return -ENOMEM; | ||||||
| 	zcrypt_device_status_mask_ext(device_status); | 	zcrypt_device_status_mask_ext(device_status); | ||||||
|  |  | ||||||
		Loading…
	
		Reference in a new issue
	
	 Heiko Carstens
						Heiko Carstens