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
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)