forked from mirrors/linux
		
	vfio/type1: silence integer overflow warning
I get a static checker warning about the potential integer overflow if we add "unmap->iova + unmap->size". The integer overflow isn't really harmful, but we may as well fix it. Also unmap->size gets truncated to size_t when we pass it to vfio_find_dma() so we could check for too high values of that as well. Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
This commit is contained in:
		
							parent
							
								
									79d40370e8
								
							
						
					
					
						commit
						71a7d3d78e
					
				
					 1 changed files with 3 additions and 0 deletions
				
			
		| 
						 | 
					@ -767,6 +767,9 @@ static int vfio_dma_do_unmap(struct vfio_iommu *iommu,
 | 
				
			||||||
		return -EINVAL;
 | 
							return -EINVAL;
 | 
				
			||||||
	if (!unmap->size || unmap->size & mask)
 | 
						if (!unmap->size || unmap->size & mask)
 | 
				
			||||||
		return -EINVAL;
 | 
							return -EINVAL;
 | 
				
			||||||
 | 
						if (unmap->iova + unmap->size < unmap->iova ||
 | 
				
			||||||
 | 
						    unmap->size > SIZE_MAX)
 | 
				
			||||||
 | 
							return -EINVAL;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	WARN_ON(mask & PAGE_MASK);
 | 
						WARN_ON(mask & PAGE_MASK);
 | 
				
			||||||
again:
 | 
					again:
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in a new issue