forked from mirrors/linux
		
	iommu/amd: WARN when __[attach|detach]_device are called with irqs enabled
These functions rely on being called with IRQs disabled. Add a WARN_ON to detect early when its not. Signed-off-by: Joerg Roedel <jroedel@suse.de>
This commit is contained in:
		
							parent
							
								
									f1dd0a8bcd
								
							
						
					
					
						commit
						272e4f99e9
					
				
					 1 changed files with 12 additions and 0 deletions
				
			
		| 
						 | 
					@ -2030,6 +2030,12 @@ static int __attach_device(struct iommu_dev_data *dev_data,
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	int ret;
 | 
						int ret;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						/*
 | 
				
			||||||
 | 
						 * Must be called with IRQs disabled. Warn here to detect early
 | 
				
			||||||
 | 
						 * when its not.
 | 
				
			||||||
 | 
						 */
 | 
				
			||||||
 | 
						WARN_ON(!irqs_disabled());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/* lock domain */
 | 
						/* lock domain */
 | 
				
			||||||
	spin_lock(&domain->lock);
 | 
						spin_lock(&domain->lock);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -2190,6 +2196,12 @@ static void __detach_device(struct iommu_dev_data *dev_data)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	struct protection_domain *domain;
 | 
						struct protection_domain *domain;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						/*
 | 
				
			||||||
 | 
						 * Must be called with IRQs disabled. Warn here to detect early
 | 
				
			||||||
 | 
						 * when its not.
 | 
				
			||||||
 | 
						 */
 | 
				
			||||||
 | 
						WARN_ON(!irqs_disabled());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if (WARN_ON(!dev_data->domain))
 | 
						if (WARN_ON(!dev_data->domain))
 | 
				
			||||||
		return;
 | 
							return;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in a new issue