Found by smatch:
net/ethtool/linkmodes.c:356 ethnl_set_linkmodes() warn:
 variable dereferenced before check 'info' (see line 332)
net/ethtool/linkinfo.c:143 ethnl_set_linkinfo() warn:
 variable dereferenced before check 'info' (see line 119

In both cases non-zero 'info' is always provided by caller.

Signed-off-by: Vasily Averin <v...@virtuozzo.com>
---
 net/ethtool/linkinfo.c  | 3 +--
 net/ethtool/linkmodes.c | 3 +--
 2 files changed, 2 insertions(+), 4 deletions(-)

diff --git a/net/ethtool/linkinfo.c b/net/ethtool/linkinfo.c
index 677068d..5eaf173 100644
--- a/net/ethtool/linkinfo.c
+++ b/net/ethtool/linkinfo.c
@@ -140,8 +140,7 @@ int ethnl_set_linkinfo(struct sk_buff *skb, struct 
genl_info *info)
 
        ret = __ethtool_get_link_ksettings(dev, &ksettings);
        if (ret < 0) {
-               if (info)
-                       GENL_SET_ERR_MSG(info, "failed to retrieve link 
settings");
+               GENL_SET_ERR_MSG(info, "failed to retrieve link settings");
                goto out_ops;
        }
        lsettings = &ksettings.base;
diff --git a/net/ethtool/linkmodes.c b/net/ethtool/linkmodes.c
index 452608c..b759133 100644
--- a/net/ethtool/linkmodes.c
+++ b/net/ethtool/linkmodes.c
@@ -353,8 +353,7 @@ int ethnl_set_linkmodes(struct sk_buff *skb, struct 
genl_info *info)
 
        ret = __ethtool_get_link_ksettings(dev, &ksettings);
        if (ret < 0) {
-               if (info)
-                       GENL_SET_ERR_MSG(info, "failed to retrieve link 
settings");
+               GENL_SET_ERR_MSG(info, "failed to retrieve link settings");
                goto out_ops;
        }
 
-- 
1.8.3.1

Reply via email to