lkml.org 
[lkml]   [2022]   [Jun]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.15 442/667] pinctrl: renesas: core: Fix possible null-ptr-deref in sh_pfc_map_resources()
    Date
    From: Yang Yingliang <yangyingliang@huawei.com>

    [ Upstream commit 5376e3d904532e657fd7ca1a9b1ff3d351527b90 ]

    It will cause null-ptr-deref when using 'res', if platform_get_resource()
    returns NULL, so move using 'res' after devm_ioremap_resource() that
    will check it to avoid null-ptr-deref.
    And use devm_platform_get_and_ioremap_resource() to simplify code.

    Fixes: c7977ec4a336 ("pinctrl: sh-pfc: Convert to platform_get_*()")
    Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
    Link: https://lore.kernel.org/r/20220429082637.1308182-1-yangyingliang@huawei.com
    Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/pinctrl/renesas/core.c | 7 +++----
    1 file changed, 3 insertions(+), 4 deletions(-)

    diff --git a/drivers/pinctrl/renesas/core.c b/drivers/pinctrl/renesas/core.c
    index bc17f3131de5..75fc420b6bdf 100644
    --- a/drivers/pinctrl/renesas/core.c
    +++ b/drivers/pinctrl/renesas/core.c
    @@ -71,12 +71,11 @@ static int sh_pfc_map_resources(struct sh_pfc *pfc,

    /* Fill them. */
    for (i = 0; i < num_windows; i++) {
    - res = platform_get_resource(pdev, IORESOURCE_MEM, i);
    - windows->phys = res->start;
    - windows->size = resource_size(res);
    - windows->virt = devm_ioremap_resource(pfc->dev, res);
    + windows->virt = devm_platform_get_and_ioremap_resource(pdev, i, &res);
    if (IS_ERR(windows->virt))
    return -ENOMEM;
    + windows->phys = res->start;
    + windows->size = resource_size(res);
    windows++;
    }
    for (i = 0; i < num_irqs; i++)
    --
    2.35.1


    \
     
     \ /
      Last update: 2022-06-07 21:43    [W:4.111 / U:0.388 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site