[PATCH net-next] devlink: fix return of uninitialized variable err

Subsystems: networking [general], the rest

STALE2040d

2 messages, 2 authors, 2021-01-10 · open the first message on its own page

[PATCH net-next] devlink: fix return of uninitialized variable err

From: wangyunjian <hidden>
Date: 2021-01-08 13:22:26

From: Yunjian Wang <redacted>

There is a potential execution path in which variable err is
returned without being properly initialized previously. Fix
this by initializing variable err to 0.

Addresses-Coverity: ("Uninitialized scalar variable")
Fixes: 1db64e8733f6 ("devlink: Add devlink formatted message (fmsg) API")
Signed-off-by: Yunjian Wang <redacted>
---
 net/core/devlink.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/net/core/devlink.c b/net/core/devlink.c
index ee828e4b1007..470215cd60b5 100644
--- a/net/core/devlink.c
+++ b/net/core/devlink.c
@@ -5699,7 +5699,7 @@ devlink_fmsg_prepare_skb(struct devlink_fmsg *fmsg, struct sk_buff *skb,
 	struct devlink_fmsg_item *item;
 	struct nlattr *fmsg_nlattr;
 	int i = 0;
-	int err;
+	int err = 0;
 
 	fmsg_nlattr = nla_nest_start_noflag(skb, DEVLINK_ATTR_FMSG);
 	if (!fmsg_nlattr)
-- 
2.23.0

Re: [PATCH net-next] devlink: fix return of uninitialized variable err

From: Jakub Kicinski <kuba@kernel.org>
Date: 2021-01-10 00:44:17

On Fri, 8 Jan 2021 21:21:13 +0800 wangyunjian wrote:
From: Yunjian Wang <redacted>

There is a potential execution path in which variable err is
returned without being properly initialized previously. Fix
this by initializing variable err to 0.

Addresses-Coverity: ("Uninitialized scalar variable")
Fixes: 1db64e8733f6 ("devlink: Add devlink formatted message (fmsg) API")
Signed-off-by: Yunjian Wang <redacted>
Fixes should generally be targeting net, not net-next.

I don't think this can trigger. 

Only devlink_nl_cmd_health_reporter_diagnose_doit() can call here, and
before it does it calls devlink_fmsg_obj_nest_start() and end(), so
there will at least be DEVLINK_ATTR_FMSG_OBJ_NEST_START to iterate over.

Please double check this analysis, and resend the patch with the commit
message updated to reflect this is not a bug fix and without the fixes
tag.
quoted hunk
diff --git a/net/core/devlink.c b/net/core/devlink.c
index ee828e4b1007..470215cd60b5 100644
--- a/net/core/devlink.c
+++ b/net/core/devlink.c
@@ -5699,7 +5699,7 @@ devlink_fmsg_prepare_skb(struct devlink_fmsg *fmsg, struct sk_buff *skb,
 	struct devlink_fmsg_item *item;
 	struct nlattr *fmsg_nlattr;
 	int i = 0;
-	int err;
+	int err = 0;
Please order variable declaration lines longest to shortest.
err should be before i.
 	fmsg_nlattr = nla_nest_start_noflag(skb, DEVLINK_ATTR_FMSG);
 	if (!fmsg_nlattr)
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help