CC: [email protected] BCC: [email protected] CC: [email protected] TO: Vladimir Oltean <[email protected]>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: 8c23f235a6a8ae43abea215812eb9d8cf4dd165e commit: 04a1758348a87eb73b8a4554d0c227831e2bb33e net: dsa: tag_sja1105: fix control packets on SJA1110 being received on an imprecise port date: 11 months ago :::::: branch date: 13 hours ago :::::: commit date: 11 months ago config: nios2-randconfig-m031-20220624 compiler: nios2-linux-gcc (GCC) 11.3.0 If you fix the issue, kindly add following tag where applicable Reported-by: kernel test robot <[email protected]> Reported-by: Dan Carpenter <[email protected]> New smatch warnings: net/dsa/tag_sja1105.c:432 sja1105_rcv() error: uninitialized symbol 'vid'. Old smatch warnings: arch/nios2/include/asm/thread_info.h:71 current_thread_info() error: uninitialized symbol 'sp'. net/dsa/tag_sja1105.c:564 sja1110_rcv() error: uninitialized symbol 'vid'. vim +/vid +432 net/dsa/tag_sja1105.c 884be12f85666c Vladimir Oltean 2021-07-26 392 227d07a07ef126 Vladimir Oltean 2019-05-05 393 static struct sk_buff *sja1105_rcv(struct sk_buff *skb, 227d07a07ef126 Vladimir Oltean 2019-05-05 394 struct net_device *netdev, 227d07a07ef126 Vladimir Oltean 2019-05-05 395 struct packet_type *pt) 227d07a07ef126 Vladimir Oltean 2019-05-05 396 { 884be12f85666c Vladimir Oltean 2021-07-26 397 int source_port = -1, switch_id = -1; e53e18a6fe4d3a Vladimir Oltean 2019-06-08 398 struct sja1105_meta meta = {0}; e80f40cbe4dd51 Vladimir Oltean 2020-03-24 399 struct ethhdr *hdr; 42824463d38d27 Vladimir Oltean 2019-06-08 400 bool is_link_local; e53e18a6fe4d3a Vladimir Oltean 2019-06-08 401 bool is_meta; 884be12f85666c Vladimir Oltean 2021-07-26 402 u16 vid; 227d07a07ef126 Vladimir Oltean 2019-05-05 403 e80f40cbe4dd51 Vladimir Oltean 2020-03-24 404 hdr = eth_hdr(skb); 42824463d38d27 Vladimir Oltean 2019-06-08 405 is_link_local = sja1105_is_link_local(skb); e53e18a6fe4d3a Vladimir Oltean 2019-06-08 406 is_meta = sja1105_is_meta_frame(skb); 227d07a07ef126 Vladimir Oltean 2019-05-05 407 227d07a07ef126 Vladimir Oltean 2019-05-05 408 skb->offload_fwd_mark = 1; 227d07a07ef126 Vladimir Oltean 2019-05-05 409 233697b3b3f60b Vladimir Oltean 2021-06-11 410 if (sja1105_skb_has_tag_8021q(skb)) { 42824463d38d27 Vladimir Oltean 2019-06-08 411 /* Normal traffic path. */ 04a1758348a87e Vladimir Oltean 2021-07-29 412 sja1105_vlan_rcv(skb, &source_port, &switch_id, &vid); 42824463d38d27 Vladimir Oltean 2019-06-08 413 } else if (is_link_local) { 227d07a07ef126 Vladimir Oltean 2019-05-05 414 /* Management traffic path. Switch embeds the switch ID and 227d07a07ef126 Vladimir Oltean 2019-05-05 415 * port ID into bytes of the destination MAC, courtesy of 227d07a07ef126 Vladimir Oltean 2019-05-05 416 * the incl_srcpt options. 227d07a07ef126 Vladimir Oltean 2019-05-05 417 */ 227d07a07ef126 Vladimir Oltean 2019-05-05 418 source_port = hdr->h_dest[3]; 227d07a07ef126 Vladimir Oltean 2019-05-05 419 switch_id = hdr->h_dest[4]; 227d07a07ef126 Vladimir Oltean 2019-05-05 420 /* Clear the DMAC bytes that were mangled by the switch */ 227d07a07ef126 Vladimir Oltean 2019-05-05 421 hdr->h_dest[3] = 0; 227d07a07ef126 Vladimir Oltean 2019-05-05 422 hdr->h_dest[4] = 0; e53e18a6fe4d3a Vladimir Oltean 2019-06-08 423 } else if (is_meta) { e53e18a6fe4d3a Vladimir Oltean 2019-06-08 424 sja1105_meta_unpack(skb, &meta); e53e18a6fe4d3a Vladimir Oltean 2019-06-08 425 source_port = meta.source_port; e53e18a6fe4d3a Vladimir Oltean 2019-06-08 426 switch_id = meta.switch_id; 227d07a07ef126 Vladimir Oltean 2019-05-05 427 } else { 42824463d38d27 Vladimir Oltean 2019-06-08 428 return NULL; 227d07a07ef126 Vladimir Oltean 2019-05-05 429 } 227d07a07ef126 Vladimir Oltean 2019-05-05 430 04a1758348a87e Vladimir Oltean 2021-07-29 431 if (source_port == -1 || switch_id == -1) 884be12f85666c Vladimir Oltean 2021-07-26 @432 skb->dev = dsa_find_designated_bridge_port_by_vid(netdev, vid); 884be12f85666c Vladimir Oltean 2021-07-26 433 else 227d07a07ef126 Vladimir Oltean 2019-05-05 434 skb->dev = dsa_master_find_slave(netdev, switch_id, source_port); 227d07a07ef126 Vladimir Oltean 2019-05-05 435 if (!skb->dev) { 227d07a07ef126 Vladimir Oltean 2019-05-05 436 netdev_warn(netdev, "Couldn't decode source port\n"); 227d07a07ef126 Vladimir Oltean 2019-05-05 437 return NULL; 227d07a07ef126 Vladimir Oltean 2019-05-05 438 } 227d07a07ef126 Vladimir Oltean 2019-05-05 439 f3097be21bf17a Vladimir Oltean 2019-06-08 440 return sja1105_rcv_meta_state_machine(skb, &meta, is_link_local, f3097be21bf17a Vladimir Oltean 2019-06-08 441 is_meta); 227d07a07ef126 Vladimir Oltean 2019-05-05 442 } 227d07a07ef126 Vladimir Oltean 2019-05-05 443 :::::: The code at line 432 was first introduced by commit :::::: 884be12f85666c6e9ff1cf3ead06a7371f6863dc net: dsa: sja1105: add support for imprecise RX :::::: TO: Vladimir Oltean <[email protected]> :::::: CC: David S. Miller <[email protected]> -- 0-DAY CI Kernel Test Service https://01.org/lkp _______________________________________________ kbuild mailing list -- [email protected] To unsubscribe send an email to [email protected]
