[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <202103170109.NPKdBuBu-lkp@intel.com>
Date: Wed, 17 Mar 2021 02:00:31 +0800
From: kernel test robot <lkp@...el.com>
To: Tobias Waldekranz <tobias@...dekranz.com>, davem@...emloft.net,
kuba@...nel.org
Cc: kbuild-all@...ts.01.org, clang-built-linux@...glegroups.com,
andrew@...n.ch, vivien.didelot@...il.com, f.fainelli@...il.com,
olteanv@...il.com, netdev@...r.kernel.org
Subject: Re: [PATCH net] net: dsa: Centralize validation of VLAN configuration
Hi Tobias,
I love your patch! Perhaps something to improve:
[auto build test WARNING on net/master]
url: https://github.com/0day-ci/linux/commits/Tobias-Waldekranz/net-dsa-Centralize-validation-of-VLAN-configuration/20210316-035618
base: https://git.kernel.org/pub/scm/linux/kernel/git/davem/net.git a25f822285420486f5da434efc8d940d42a83bce
config: powerpc-randconfig-r006-20210316 (attached as .config)
compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project 50c7504a93fdb90c26870db8c8ea7add895c7725)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# install powerpc cross compiling tool for clang build
# apt-get install binutils-powerpc-linux-gnu
# https://github.com/0day-ci/linux/commit/9a35f7597b676a3bdaa9dd753e0a7d11fb132ed5
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Tobias-Waldekranz/net-dsa-Centralize-validation-of-VLAN-configuration/20210316-035618
git checkout 9a35f7597b676a3bdaa9dd753e0a7d11fb132ed5
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=powerpc
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@...el.com>
All warnings (new ones prefixed by >>):
>> net/dsa/slave.c:2074:12: warning: variable 'err' is used uninitialized whenever 'if' condition is false [-Wsometimes-uninitialized]
else if (is_vlan_dev(info->upper_dev))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
net/dsa/slave.c:2077:7: note: uninitialized use occurs here
if (err)
^~~
net/dsa/slave.c:2074:8: note: remove the 'if' if its condition is always true
else if (is_vlan_dev(info->upper_dev))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
net/dsa/slave.c:2070:10: note: initialize the variable 'err' to silence this warning
int err;
^
= 0
1 warning generated.
vim +2074 net/dsa/slave.c
2059
2060 static int dsa_slave_netdevice_event(struct notifier_block *nb,
2061 unsigned long event, void *ptr)
2062 {
2063 struct net_device *dev = netdev_notifier_info_to_dev(ptr);
2064
2065 switch (event) {
2066 case NETDEV_PRECHANGEUPPER: {
2067 struct netdev_notifier_changeupper_info *info = ptr;
2068 struct dsa_switch *ds;
2069 struct dsa_port *dp;
2070 int err;
2071
2072 if (is_vlan_dev(dev))
2073 err = dsa_prevent_bridging_8021q_upper(dev, ptr);
> 2074 else if (is_vlan_dev(info->upper_dev))
2075 err = dsa_slave_check_8021q_upper(dev, ptr);
2076
2077 if (err)
2078 return err;
2079
2080 if (!dsa_slave_dev_check(dev))
2081 return NOTIFY_DONE;
2082
2083 dp = dsa_slave_to_port(dev);
2084 ds = dp->ds;
2085
2086 if (ds->ops->port_prechangeupper) {
2087 err = ds->ops->port_prechangeupper(ds, dp->index, info);
2088 if (err)
2089 return notifier_from_errno(err);
2090 }
2091 break;
2092 }
2093 case NETDEV_CHANGEUPPER:
2094 if (dsa_slave_dev_check(dev))
2095 return dsa_slave_changeupper(dev, ptr);
2096
2097 if (netif_is_lag_master(dev))
2098 return dsa_slave_lag_changeupper(dev, ptr);
2099
2100 break;
2101 case NETDEV_CHANGELOWERSTATE: {
2102 struct netdev_notifier_changelowerstate_info *info = ptr;
2103 struct dsa_port *dp;
2104 int err;
2105
2106 if (!dsa_slave_dev_check(dev))
2107 break;
2108
2109 dp = dsa_slave_to_port(dev);
2110
2111 err = dsa_port_lag_change(dp, info->lower_state_info);
2112 return notifier_from_errno(err);
2113 }
2114 case NETDEV_GOING_DOWN: {
2115 struct dsa_port *dp, *cpu_dp;
2116 struct dsa_switch_tree *dst;
2117 LIST_HEAD(close_list);
2118
2119 if (!netdev_uses_dsa(dev))
2120 return NOTIFY_DONE;
2121
2122 cpu_dp = dev->dsa_ptr;
2123 dst = cpu_dp->ds->dst;
2124
2125 list_for_each_entry(dp, &dst->ports, list) {
2126 if (!dsa_is_user_port(dp->ds, dp->index))
2127 continue;
2128
2129 list_add(&dp->slave->close_list, &close_list);
2130 }
2131
2132 dev_close_many(&close_list, true);
2133
2134 return NOTIFY_OK;
2135 }
2136 default:
2137 break;
2138 }
2139
2140 return NOTIFY_DONE;
2141 }
2142
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
Download attachment ".config.gz" of type "application/gzip" (45992 bytes)
Powered by blists - more mailing lists