| From dee9d154f40c58d02f69acdaa5cfd1eae6ebc28b Mon Sep 17 00:00:00 2001 |
| From: Colin Ian King <colin.king@canonical.com> |
| Date: Tue, 14 Jul 2020 20:22:11 +0100 |
| Subject: [PATCH] iommu/omap: Check for failure of a call to |
| omap_iommu_dump_ctx |
| |
| commit dee9d154f40c58d02f69acdaa5cfd1eae6ebc28b upstream. |
| |
| It is possible for the call to omap_iommu_dump_ctx to return |
| a negative error number, so check for the failure and return |
| the error number rather than pass the negative value to |
| simple_read_from_buffer. |
| |
| Fixes: 14e0e6796a0d ("OMAP: iommu: add initial debugfs support") |
| Signed-off-by: Colin Ian King <colin.king@canonical.com> |
| Link: https://lore.kernel.org/r/20200714192211.744776-1-colin.king@canonical.com |
| Addresses-Coverity: ("Improper use of negative value") |
| Signed-off-by: Joerg Roedel <jroedel@suse.de> |
| |
| diff --git a/drivers/iommu/omap-iommu-debug.c b/drivers/iommu/omap-iommu-debug.c |
| index 8e19bfa94121..a99afb5d9011 100644 |
| --- a/drivers/iommu/omap-iommu-debug.c |
| +++ b/drivers/iommu/omap-iommu-debug.c |
| @@ -98,8 +98,11 @@ static ssize_t debug_read_regs(struct file *file, char __user *userbuf, |
| mutex_lock(&iommu_debug_lock); |
| |
| bytes = omap_iommu_dump_ctx(obj, p, count); |
| + if (bytes < 0) |
| + goto err; |
| bytes = simple_read_from_buffer(userbuf, count, ppos, buf, bytes); |
| |
| +err: |
| mutex_unlock(&iommu_debug_lock); |
| kfree(buf); |
| |
| -- |
| 2.27.0 |
| |