mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-07 03:15:31 +09:00
iommufd: Report unmapped bytes in the error path of iopt_unmap_iova_range
commit b23e09f9997771b4b739c1c694fa832b5fa2de02 upstream.
There are callers that read the unmapped bytes even when rc != 0. Thus, do
not forget to report it in the error path too.
Fixes: 8d40205f60 ("iommufd: Add kAPI toward external drivers for kernel access")
Link: https://patch.msgid.link/r/e2b61303bbc008ba1a4e2d7c2a2894749b59fdac.1752126748.git.nicolinc@nvidia.com
Cc: stable@vger.kernel.org
Reviewed-by: Kevin Tian <kevin.tian@intel.com>
Reviewed-by: Jason Gunthorpe <jgg@nvidia.com>
Signed-off-by: Nicolin Chen <nicolinc@nvidia.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
a11b6ee7ca
commit
2ccccb0e41
@@ -524,8 +524,10 @@ again:
|
||||
iommufd_access_notify_unmap(iopt, area_first, length);
|
||||
/* Something is not responding to unmap requests. */
|
||||
tries++;
|
||||
if (WARN_ON(tries > 100))
|
||||
return -EDEADLOCK;
|
||||
if (WARN_ON(tries > 100)) {
|
||||
rc = -EDEADLOCK;
|
||||
goto out_unmapped;
|
||||
}
|
||||
goto again;
|
||||
}
|
||||
|
||||
@@ -547,6 +549,7 @@ again:
|
||||
out_unlock_iova:
|
||||
up_write(&iopt->iova_rwsem);
|
||||
up_read(&iopt->domains_rwsem);
|
||||
out_unmapped:
|
||||
if (unmapped)
|
||||
*unmapped = unmapped_bytes;
|
||||
return rc;
|
||||
|
||||
Reference in New Issue
Block a user