lkml.org 
[lkml]   [2019]   [Feb]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.20 195/352] pinctrl: rza1: Handle devm_kasprintf() failure cases
    Date
    4.20-stable review patch.  If anyone has any objections, please let me know.

    ------------------

    [ Upstream commit db221412cd2014506642967155698825ad80f6b6 ]

    devm_kasprintf() may return NULL on failure of internal allocation
    thus the assignments are not safe if not checked. On error
    rza1_pinctrl_register() respectively rza1_parse_gpiochip() return
    negative values so -ENOMEM in the (unlikely) failure case of
    devm_kasprintf() should be fine here.

    Signed-off-by: Nicholas Mc Guire <hofrat@osadl.org>
    Fixes: 5a49b644b307 ("pinctrl: Renesas RZ/A1 pin and gpio controller")
    Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/pinctrl/pinctrl-rza1.c | 5 +++++
    1 file changed, 5 insertions(+)

    diff --git a/drivers/pinctrl/pinctrl-rza1.c b/drivers/pinctrl/pinctrl-rza1.c
    index 14eb576c04a2..9cfe9d0520ac 100644
    --- a/drivers/pinctrl/pinctrl-rza1.c
    +++ b/drivers/pinctrl/pinctrl-rza1.c
    @@ -1225,6 +1225,9 @@ static int rza1_parse_gpiochip(struct rza1_pinctrl *rza1_pctl,
    chip->base = -1;
    chip->label = devm_kasprintf(rza1_pctl->dev, GFP_KERNEL, "%pOFn",
    np);
    + if (!chip->label)
    + return -ENOMEM;
    +
    chip->ngpio = of_args.args[2];
    chip->of_node = np;
    chip->parent = rza1_pctl->dev;
    @@ -1326,6 +1329,8 @@ static int rza1_pinctrl_register(struct rza1_pinctrl *rza1_pctl)
    pins[i].number = i;
    pins[i].name = devm_kasprintf(rza1_pctl->dev, GFP_KERNEL,
    "P%u-%u", port, pin);
    + if (!pins[i].name)
    + return -ENOMEM;

    if (i % RZA1_PINS_PER_PORT == 0) {
    /*
    --
    2.19.1


    \
     
     \ /
      Last update: 2019-02-11 15:30    [W:3.141 / U:0.056 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site