mirror of
				git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
				synced 2025-11-01 09:13:37 +00:00 
			
		
		
		
	interconnect: Handle memory allocation errors
When we allocate memory, kasprintf() can fail and we must check its
return value.
Fixes: 05309830e1 ("interconnect: Add a name to struct icc_path")
Signed-off-by: Georgi Djakov <georgi.djakov@linaro.org>
Link: https://lore.kernel.org/r/20200226110420.5357-2-georgi.djakov@linaro.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
			
			
This commit is contained in:
		
							parent
							
								
									3745488e9d
								
							
						
					
					
						commit
						3791163602
					
				
					 1 changed files with 9 additions and 0 deletions
				
			
		| 
						 | 
				
			
			@ -445,6 +445,11 @@ struct icc_path *of_icc_get(struct device *dev, const char *name)
 | 
			
		|||
		path->name = kasprintf(GFP_KERNEL, "%s-%s",
 | 
			
		||||
				       src_node->name, dst_node->name);
 | 
			
		||||
 | 
			
		||||
	if (!path->name) {
 | 
			
		||||
		kfree(path);
 | 
			
		||||
		return ERR_PTR(-ENOMEM);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	return path;
 | 
			
		||||
}
 | 
			
		||||
EXPORT_SYMBOL_GPL(of_icc_get);
 | 
			
		||||
| 
						 | 
				
			
			@ -579,6 +584,10 @@ struct icc_path *icc_get(struct device *dev, const int src_id, const int dst_id)
 | 
			
		|||
	}
 | 
			
		||||
 | 
			
		||||
	path->name = kasprintf(GFP_KERNEL, "%s-%s", src->name, dst->name);
 | 
			
		||||
	if (!path->name) {
 | 
			
		||||
		kfree(path);
 | 
			
		||||
		path = ERR_PTR(-ENOMEM);
 | 
			
		||||
	}
 | 
			
		||||
out:
 | 
			
		||||
	mutex_unlock(&icc_lock);
 | 
			
		||||
	return path;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		
		Reference in a new issue