diff options
author | Luca Weiss <[email protected]> | 2022-01-14 11:02:26 +0000 |
---|---|---|
committer | Mauro Carvalho Chehab <[email protected]> | 2022-04-24 08:31:10 +0100 |
commit | 86594f6af867b5165d2ba7b5a71fae3a5961e56c (patch) | |
tree | 56474a6cbcdba9a8ffafc7099e70df9f91d60eab | |
parent | 90307ebe5a562d6bdfa06c440cefccaceeaa6f4f (diff) |
media: venus: hfi: avoid null dereference in deinit
If venus_probe fails at pm_runtime_put_sync the error handling first
calls hfi_destroy and afterwards hfi_core_deinit. As hfi_destroy sets
core->ops to NULL, hfi_core_deinit cannot call the core_deinit function
anymore.
Avoid this null pointer derefence by skipping the call when necessary.
Signed-off-by: Luca Weiss <[email protected]>
Signed-off-by: Stanimir Varbanov <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
-rw-r--r-- | drivers/media/platform/qcom/venus/hfi.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/media/platform/qcom/venus/hfi.c b/drivers/media/platform/qcom/venus/hfi.c index 4e2151fb47f0..1968f09ad177 100644 --- a/drivers/media/platform/qcom/venus/hfi.c +++ b/drivers/media/platform/qcom/venus/hfi.c @@ -104,6 +104,9 @@ int hfi_core_deinit(struct venus_core *core, bool blocking) mutex_lock(&core->lock); } + if (!core->ops) + goto unlock; + ret = core->ops->core_deinit(core); if (!ret) |