2023-01-18 07:22:59

by Guodong Liu

[permalink] [raw]
Subject: [PATCH 0/2] MediaTek pinctrl cleanups and improvements

Patch 1. Fix coverity by initializing pullen and pullup as zero.
Coverity error message:
This issue is detected by
Checker: UNINIT
Type: Uninitialized scalar variable
Defect is in:
File: drivers/pinctrl/mediatek/pinctrl-paris.c
Function and lines:
mtk_pctrl_show_one_pin:627
CID 10350517 (#1 of 2): Uninitialized scalar variable (UNINIT)
(7) uninit_use: Using uninitialized value pullen.
rsel = pullen;
pullen = 1;
} else {
CID 10350553 (#1 of 1): Uninitialized scalar variable (UNINIT)
(8) uninit_use_in_call: Using uninitialized value pullup when
calling scnprintf.
len += scnprintf(buf + len, buf_len - len,
"%03d: %1d%1d%1d%1d%02d%1d%1d%1d%1d",
gpio,
pinmux,
mtk_pctrl_get_direction(hw, gpio),
mtk_pctrl_get_out(hw, gpio),
mtk_pctrl_get_in(hw, gpio),
mtk_pctrl_get_driving(hw, gpio),
mtk_pctrl_get_smt(hw, gpio),
mtk_pctrl_get_ies(hw, gpio),
pullen,
pullup);

Patch 2. Fix coverity by initializing *buf as zero.
Coverity error message:
This issue is detected by
Checker: UNINIT
Type: Uninitialized scalar variable
Defect is in:
File: drivers/pinctrl/mediatek/pinctrl-paris.c
Function and lines:
mtk_pctrl_dbg_show
static void mtk_pctrl_dbg_show(struct pinctrl_dev *pctldev,
struct seq_file *s,
unsigned int gpio)
{
struct mtk_pinctrl *hw = pinctrl_dev_get_drvdata(pctldev);
(1) var_decl: Declaring variable buf without initializer.
char buf[PIN_DBG_BUF_SZ];

(void)mtk_pctrl_show_one_pin(hw, gpio, buf, PIN_DBG_BUF_SZ);

CID 10801732 (#1 of 1): Uninitialized scalar variable (UNINIT)
(2) uninit_use_in_call: Using uninitialized value *buf as argument to %s
when calling seq_printf.
seq_printf(s, "%s", buf);

Guodong Liu (2):
pinctrl: mediatek: Initialize variable pullen and pullup to zero
pinctrl: mediatek: Initialize variable *buf to zero

drivers/pinctrl/mediatek/pinctrl-paris.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

--
2.25.1


2023-01-18 07:31:47

by Guodong Liu

[permalink] [raw]
Subject: [PATCH 2/2] pinctrl: mediatek: Initialize variable *buf to zero

Coverity spotted that *buf is not initialized to zero in
mtk_pctrl_dbg_show. Using uninitialized variable *buf as argument to %s
when calling seq_printf. Fix this coverity by initializing *buf as zero.

Fixes: 184d8e13f9b1 ("pinctrl: mediatek: Add support for pin configuration
dump via debugfs.")
Signed-off-by: Guodong Liu <[email protected]>
---
drivers/pinctrl/mediatek/pinctrl-paris.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/pinctrl/mediatek/pinctrl-paris.c b/drivers/pinctrl/mediatek/pinctrl-paris.c
index e736c1610f3c..d2fbfffda038 100644
--- a/drivers/pinctrl/mediatek/pinctrl-paris.c
+++ b/drivers/pinctrl/mediatek/pinctrl-paris.c
@@ -714,7 +714,7 @@ static void mtk_pctrl_dbg_show(struct pinctrl_dev *pctldev, struct seq_file *s,
unsigned int gpio)
{
struct mtk_pinctrl *hw = pinctrl_dev_get_drvdata(pctldev);
- char buf[PIN_DBG_BUF_SZ];
+ char buf[PIN_DBG_BUF_SZ] = { 0 };

(void)mtk_pctrl_show_one_pin(hw, gpio, buf, PIN_DBG_BUF_SZ);

--
2.25.1

Subject: Re: [PATCH 2/2] pinctrl: mediatek: Initialize variable *buf to zero

Il 18/01/23 07:20, Guodong Liu ha scritto:
> Coverity spotted that *buf is not initialized to zero in
> mtk_pctrl_dbg_show. Using uninitialized variable *buf as argument to %s
> when calling seq_printf. Fix this coverity by initializing *buf as zero.
>
> Fixes: 184d8e13f9b1 ("pinctrl: mediatek: Add support for pin configuration
> dump via debugfs.")
> Signed-off-by: Guodong Liu <[email protected]>


Reviewed-by: AngeloGioacchino Del Regno <[email protected]>


2023-01-26 13:40:21

by Linus Walleij

[permalink] [raw]
Subject: Re: [PATCH 0/2] MediaTek pinctrl cleanups and improvements

On Wed, Jan 18, 2023 at 7:20 AM Guodong Liu <[email protected]> wrote:

> Guodong Liu (2):
> pinctrl: mediatek: Initialize variable pullen and pullup to zero
> pinctrl: mediatek: Initialize variable *buf to zero

Patches applied!

Yours,
Linus Walleij