lkml.org 
[lkml]   [2022]   [May]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH AUTOSEL 5.18 050/159] media: venus: hfi: avoid null dereference in deinit
    Date
    From: Luca Weiss <luca.weiss@fairphone.com>

    [ Upstream commit 86594f6af867b5165d2ba7b5a71fae3a5961e56c ]

    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 <luca.weiss@fairphone.com>
    Signed-off-by: Stanimir Varbanov <stanimir.varbanov@linaro.org>
    Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/media/platform/qcom/venus/hfi.c | 3 +++
    1 file changed, 3 insertions(+)

    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)
    --
    2.35.1
    \
     
     \ /
      Last update: 2022-05-30 15:33    [W:4.028 / U:1.108 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site