From: Chaoyi Chen <[email protected]>
In rocket_ioctl_submit_job(), since the domain is assigned last, an
error before that triggers rocket_job_put() -> rocket_job_cleanup()
-> rocket_iommu_domain_put() with the domain still NULL,
causing a panic in that function.
Therefore, the input parameters should be validated.
Fixes: 658ebeac3351 ("accel/rocket: Add IOCTL for BO creation")
Signed-off-by: Chaoyi Chen <[email protected]>
---
drivers/accel/rocket/rocket_drv.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/accel/rocket/rocket_drv.c
b/drivers/accel/rocket/rocket_drv.c
index 8bbbce594883..77cd2ecce001 100644
--- a/drivers/accel/rocket/rocket_drv.c
+++ b/drivers/accel/rocket/rocket_drv.c
@@ -65,7 +65,8 @@ rocket_iommu_domain_get(struct rocket_file_priv *rocket_priv)
void
rocket_iommu_domain_put(struct rocket_iommu_domain *domain)
{
- kref_put(&domain->kref, rocket_iommu_domain_destroy);
+ if (domain)
+ kref_put(&domain->kref, rocket_iommu_domain_destroy);
}
static int
--
2.53.0