iommu/sva: Fix signedness bug in iommu_sva_alloc_pasid()
authorDan Carpenter <error27@gmail.com>
Thu, 6 Apr 2023 08:55:31 +0000 (11:55 +0300)
committerJoerg Roedel <jroedel@suse.de>
Fri, 14 Jul 2023 12:53:19 +0000 (14:53 +0200)
commitc20ecf7bb6153149b81a9277eda23398957656f2
treecd212870c5db9019fc8353020405111025d99553
parent911476ef3c585da9fdf156fd7aaa7455455daf76
iommu/sva: Fix signedness bug in iommu_sva_alloc_pasid()

The ida_alloc_range() function returns negative error codes on error.
On success it returns values in the min to max range (inclusive).  It
never returns more then INT_MAX even if "max" is higher.  It never
returns values in the 0 to (min - 1) range.

The bug is that "min" is an unsigned int so negative error codes will
be promoted to high positive values errors treated as success.

Fixes: 1a14bf0fc7ed ("iommu/sva: Use GFP_KERNEL for pasid allocation")
Signed-off-by: Dan Carpenter <error27@gmail.com>
Reviewed-by: Lu Baolu <baolu.lu@linux.intel.com>
Link: https://lore.kernel.org/r/6b32095d-7491-4ebb-a850-12e96209eaaf@kili.mountain
Signed-off-by: Joerg Roedel <jroedel@suse.de>
drivers/iommu/iommu-sva.c