lkml.org 
[lkml]   [2021]   [Nov]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.15 452/917] mailbox: mtk-cmdq: Validate alias_id on probe
    Date
    From: Fei Shao <fshao@chromium.org>

    [ Upstream commit 5c154b6a51c2d2d7f266b3ef49b7dd1dc8cb5b65 ]

    of_alias_get_id() may return -ENODEV which leads to illegal access to
    the cmdq->clocks array.
    Adding a check over alias_id to prevent the unexpected behavior.

    Fixes: 85dfdbfc13ea ("mailbox: cmdq: add multi-gce clocks support for mt8195")
    Signed-off-by: Fei Shao <fshao@chromium.org>
    Reviewed-by: Tzung-Bi Shih <tzungbi@google.com>
    Signed-off-by: Jassi Brar <jaswinder.singh@linaro.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/mailbox/mtk-cmdq-mailbox.c | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    diff --git a/drivers/mailbox/mtk-cmdq-mailbox.c b/drivers/mailbox/mtk-cmdq-mailbox.c
    index c591dab9d5a48..9b0cc3bb5b23a 100644
    --- a/drivers/mailbox/mtk-cmdq-mailbox.c
    +++ b/drivers/mailbox/mtk-cmdq-mailbox.c
    @@ -572,7 +572,7 @@ static int cmdq_probe(struct platform_device *pdev)
    char clk_id[8];

    alias_id = of_alias_get_id(node, clk_name);
    - if (alias_id < cmdq->gce_num) {
    + if (alias_id >= 0 && alias_id < cmdq->gce_num) {
    snprintf(clk_id, sizeof(clk_id), "%s%d", clk_name, alias_id);
    cmdq->clocks[alias_id].id = clk_id;
    cmdq->clocks[alias_id].clk = of_clk_get(node, 0);
    --
    2.33.0


    \
     
     \ /
      Last update: 2021-11-16 01:34    [W:4.020 / U:0.208 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site