iommu/omap: Check for failure of a call to omap_iommu_dump_ctx
authorColin Ian King <colin.king@canonical.com>
Tue, 14 Jul 2020 19:22:11 +0000 (20:22 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 21 Aug 2020 07:48:21 +0000 (09:48 +0200)
[ Upstream commit dee9d154f40c58d02f69acdaa5cfd1eae6ebc28b ]

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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/iommu/omap-iommu-debug.c

index 505548aafeff2276c82c64de4702aae37ddfe15b..cec33e90e3998fa0a34739c8c28ca94954c29166 100644 (file)
@@ -101,8 +101,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);