Messages in this thread | | | Date | Wed, 5 Jan 2022 15:18:27 +0300 | From | Dan Carpenter <> | Subject | drivers/net/dsa/ocelot/felix.c:1329 felix_check_xtr_pkt() error: uninitialized symbol 'err'. |
| |
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: c741e49150dbb0c0aebe234389f4aa8b47958fa8 commit: 0a6f17c6ae2116809a7b7eb6dd3eab59ef5460ef net: dsa: tag_ocelot_8021q: add support for PTP timestamping config: x86_64-randconfig-m001-20211210 (https://download.01.org/0day-ci/archive/20211211/202112110349.5CNAwmu6-lkp@intel.com/config) compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <lkp@intel.com> Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
smatch warnings: drivers/net/dsa/ocelot/felix.c:1329 felix_check_xtr_pkt() error: uninitialized symbol 'err'.
vim +/err +1329 drivers/net/dsa/ocelot/felix.c
0a6f17c6ae2116 Vladimir Oltean 2021-02-14 1286 static bool felix_check_xtr_pkt(struct ocelot *ocelot, unsigned int ptp_type) 0a6f17c6ae2116 Vladimir Oltean 2021-02-14 1287 { 0a6f17c6ae2116 Vladimir Oltean 2021-02-14 1288 struct felix *felix = ocelot_to_felix(ocelot); 0a6f17c6ae2116 Vladimir Oltean 2021-02-14 1289 int err, grp = 0; 0a6f17c6ae2116 Vladimir Oltean 2021-02-14 1290 0a6f17c6ae2116 Vladimir Oltean 2021-02-14 1291 if (felix->tag_proto != DSA_TAG_PROTO_OCELOT_8021Q) 0a6f17c6ae2116 Vladimir Oltean 2021-02-14 1292 return false; 0a6f17c6ae2116 Vladimir Oltean 2021-02-14 1293 0a6f17c6ae2116 Vladimir Oltean 2021-02-14 1294 if (!felix->info->quirk_no_xtr_irq) 0a6f17c6ae2116 Vladimir Oltean 2021-02-14 1295 return false; 0a6f17c6ae2116 Vladimir Oltean 2021-02-14 1296 0a6f17c6ae2116 Vladimir Oltean 2021-02-14 1297 if (ptp_type == PTP_CLASS_NONE) 0a6f17c6ae2116 Vladimir Oltean 2021-02-14 1298 return false; 0a6f17c6ae2116 Vladimir Oltean 2021-02-14 1299 0a6f17c6ae2116 Vladimir Oltean 2021-02-14 1300 while (ocelot_read(ocelot, QS_XTR_DATA_PRESENT) & BIT(grp)) {
Can this be false on the first iteration through the loop?
0a6f17c6ae2116 Vladimir Oltean 2021-02-14 1301 struct sk_buff *skb; 0a6f17c6ae2116 Vladimir Oltean 2021-02-14 1302 unsigned int type; 0a6f17c6ae2116 Vladimir Oltean 2021-02-14 1303 0a6f17c6ae2116 Vladimir Oltean 2021-02-14 1304 err = ocelot_xtr_poll_frame(ocelot, grp, &skb); 0a6f17c6ae2116 Vladimir Oltean 2021-02-14 1305 if (err) 0a6f17c6ae2116 Vladimir Oltean 2021-02-14 1306 goto out; 0a6f17c6ae2116 Vladimir Oltean 2021-02-14 1307 0a6f17c6ae2116 Vladimir Oltean 2021-02-14 1308 /* We trap to the CPU port module all PTP frames, but 0a6f17c6ae2116 Vladimir Oltean 2021-02-14 1309 * felix_rxtstamp() only gets called for event frames. 0a6f17c6ae2116 Vladimir Oltean 2021-02-14 1310 * So we need to avoid sending duplicate general 0a6f17c6ae2116 Vladimir Oltean 2021-02-14 1311 * message frames by running a second BPF classifier 0a6f17c6ae2116 Vladimir Oltean 2021-02-14 1312 * here and dropping those. 0a6f17c6ae2116 Vladimir Oltean 2021-02-14 1313 */ 0a6f17c6ae2116 Vladimir Oltean 2021-02-14 1314 __skb_push(skb, ETH_HLEN); 0a6f17c6ae2116 Vladimir Oltean 2021-02-14 1315 0a6f17c6ae2116 Vladimir Oltean 2021-02-14 1316 type = ptp_classify_raw(skb); 0a6f17c6ae2116 Vladimir Oltean 2021-02-14 1317 0a6f17c6ae2116 Vladimir Oltean 2021-02-14 1318 __skb_pull(skb, ETH_HLEN); 0a6f17c6ae2116 Vladimir Oltean 2021-02-14 1319 0a6f17c6ae2116 Vladimir Oltean 2021-02-14 1320 if (type == PTP_CLASS_NONE) { 0a6f17c6ae2116 Vladimir Oltean 2021-02-14 1321 kfree_skb(skb); 0a6f17c6ae2116 Vladimir Oltean 2021-02-14 1322 continue; 0a6f17c6ae2116 Vladimir Oltean 2021-02-14 1323 } 0a6f17c6ae2116 Vladimir Oltean 2021-02-14 1324 0a6f17c6ae2116 Vladimir Oltean 2021-02-14 1325 netif_rx(skb); 0a6f17c6ae2116 Vladimir Oltean 2021-02-14 1326 } 0a6f17c6ae2116 Vladimir Oltean 2021-02-14 1327 0a6f17c6ae2116 Vladimir Oltean 2021-02-14 1328 out: 0a6f17c6ae2116 Vladimir Oltean 2021-02-14 @1329 if (err < 0) ^^^ That's what triggers the warning.
0a6f17c6ae2116 Vladimir Oltean 2021-02-14 1330 ocelot_drain_cpu_queue(ocelot, 0); 0a6f17c6ae2116 Vladimir Oltean 2021-02-14 1331 0a6f17c6ae2116 Vladimir Oltean 2021-02-14 1332 return true; 0a6f17c6ae2116 Vladimir Oltean 2021-02-14 1333 }
--- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
| |