[PATCH 10/17] habanalabs: fix NULL dereference on cs timeout

Oded Gabbay
2022-06-20T13:20:28Z

From: Yuri Nudelman <ynudelman@habana.ai>

Device descriptor is accessed before an assignment

Signed-off-by: Yuri Nudelman <ynudelman@habana.ai>
Reviewed-by: Oded Gabbay <ogabbay@kernel.org>
Signed-off-by: Oded Gabbay <ogabbay@kernel.org>
---
drivers/misc/habanalabs/common/command_submission.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/misc/habanalabs/common/command_submission.c b/drivers/misc/habanalabs/common/command_submission.c
index 72a557b83a7d..c050f38b7091 100644
--- a/drivers/misc/habanalabs/common/command_submission.c
+++ b/drivers/misc/habanalabs/common/command_submission.c
@@ -812,6 +812,8 @@ static void cs_timedout(struct work_struct *work)
return;
}

+ hdev = cs->ctx->hdev;
+
if (likely(!skip_reset_on_timeout)) {
if (hdev->reset_on_lockup)
device_reset = true;
@@ -822,8 +824,6 @@ static void cs_timedout(struct work_struct *work)
cs->timedout = true;
}

- hdev = cs->ctx->hdev;
-
/* Save only the first CS timeout parameters */
rc = atomic_cmpxchg(&hdev->last_error.cs_timeout.write_enable, 1, 0);
if (rc) {
--
2.25.1