All of lore.kernel.org
 help / color / mirror / Atom feed
* [microchip-ung-linux-upstream:v5.10-webstax 62/88] drivers/net/ethernet/vitesse/vtss_if_mux_netlink.c:149 vtss_if_mux_newlink() warn: potential spectre issue 'vtss_if_mux_port_net_dev' (local cap)
@ 2020-12-14 17:42 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2020-12-14 17:42 UTC (permalink / raw)
  To: kbuild

[-- Attachment #1: Type: text/plain, Size: 7544 bytes --]

CC: kbuild-all(a)lists.01.org
TO: Lars Povlsen <lars.povlsen@microchip.com>

tree:   https://github.com/microchip-ung/linux-upstream.git v5.10-webstax
head:   0c603c93d534e71ceee9485bfe1b0b75561efb0e
commit: 2e15507762cfc0c74bc1e597263005f2ad075881 [62/88] net: ethernet: Add MSCC/VTSS drivers
:::::: branch date: 7 hours ago
:::::: commit date: 7 hours ago
config: x86_64-randconfig-m001-20201214 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 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>

New smatch warnings:
drivers/net/ethernet/vitesse/vtss_if_mux_netlink.c:149 vtss_if_mux_newlink() warn: potential spectre issue 'vtss_if_mux_port_net_dev' [w] (local cap)
drivers/net/ethernet/vitesse/vtss_if_mux_netlink.c:154 vtss_if_mux_newlink() warn: potential spectre issue 'vtss_if_mux_vlan_net_dev' [w] (local cap)
drivers/net/ethernet/vitesse/vtss_if_mux_main.c:324 vtss_if_mux_rx_handler() warn: potential spectre issue 'vtss_if_mux_port_net_dev' [r] (local cap)
drivers/net/ethernet/vitesse/vtss_if_mux_main.c:326 vtss_if_mux_rx_handler() warn: possible spectre second half.  'dev'
drivers/net/ethernet/vitesse/vtss_if_mux_main.c:328 vtss_if_mux_rx_handler() warn: potential spectre issue 'vtss_if_mux_vlan_net_dev' [r] (local cap)
drivers/net/ethernet/vitesse/vtss_if_mux_main.c:405 vtss_if_mux_rx_handler() error: dereferencing freed memory 'skb_new'
drivers/net/ethernet/vitesse/vtss_if_mux_genetlink.c:1339 genl_cmd_port_conf_set() warn: inconsistent indenting

Old smatch warnings:
drivers/net/ethernet/vitesse/vtss_if_mux_main.c:329 vtss_if_mux_rx_handler() warn: possible spectre second half.  'dev'
drivers/net/ethernet/vitesse/vtss_if_mux_main.c:357 vtss_if_mux_rx_handler() warn: possible spectre second half.  'dev'

vim +/vtss_if_mux_port_net_dev +149 drivers/net/ethernet/vitesse/vtss_if_mux_netlink.c

2e15507762cfc0c Lars Povlsen 2020-04-20   99  
2e15507762cfc0c Lars Povlsen 2020-04-20  100  static int vtss_if_mux_newlink(struct net *src_net, struct net_device *dev,
2e15507762cfc0c Lars Povlsen 2020-04-20  101                                 struct nlattr *tb[], struct nlattr *data[],
2e15507762cfc0c Lars Povlsen 2020-04-20  102                                 struct netlink_ext_ack *extack) {
2e15507762cfc0c Lars Povlsen 2020-04-20  103      int err;
2e15507762cfc0c Lars Povlsen 2020-04-20  104      int vlan_id;
2e15507762cfc0c Lars Povlsen 2020-04-20  105      int port;
2e15507762cfc0c Lars Povlsen 2020-04-20  106      struct net_device *parent_dev;
2e15507762cfc0c Lars Povlsen 2020-04-20  107      struct vtss_if_mux_dev_priv *priv = vtss_if_mux_dev_priv(dev);
2e15507762cfc0c Lars Povlsen 2020-04-20  108  
2e15507762cfc0c Lars Povlsen 2020-04-20  109      pr_info("vtss_if_mux_newlink %p\n", dev);
2e15507762cfc0c Lars Povlsen 2020-04-20  110      port = port_from_ifname(tb);
2e15507762cfc0c Lars Povlsen 2020-04-20  111      vlan_id = vlan_id_from_ifname(tb);
2e15507762cfc0c Lars Povlsen 2020-04-20  112  
2e15507762cfc0c Lars Povlsen 2020-04-20  113      if (port >= 0) {
2e15507762cfc0c Lars Povlsen 2020-04-20  114          //pr_info("port = %d\n", port);
2e15507762cfc0c Lars Povlsen 2020-04-20  115          if (vtss_if_mux_port_net_dev[port]) {
2e15507762cfc0c Lars Povlsen 2020-04-20  116              pr_info("port exists already: %d\n", port);
2e15507762cfc0c Lars Povlsen 2020-04-20  117              return -EEXIST;
2e15507762cfc0c Lars Povlsen 2020-04-20  118          }
2e15507762cfc0c Lars Povlsen 2020-04-20  119          priv->port_if = 1;
2e15507762cfc0c Lars Povlsen 2020-04-20  120  
2e15507762cfc0c Lars Povlsen 2020-04-20  121      } else if (vlan_id >= 0) {
2e15507762cfc0c Lars Povlsen 2020-04-20  122          if (vtss_if_mux_vlan_net_dev[vlan_id]) {
2e15507762cfc0c Lars Povlsen 2020-04-20  123              pr_info("vlan exists already: %d\n", vlan_id);
2e15507762cfc0c Lars Povlsen 2020-04-20  124              return -EEXIST;
2e15507762cfc0c Lars Povlsen 2020-04-20  125          }
2e15507762cfc0c Lars Povlsen 2020-04-20  126          priv->port_if = 0;
2e15507762cfc0c Lars Povlsen 2020-04-20  127  
2e15507762cfc0c Lars Povlsen 2020-04-20  128      } else {
2e15507762cfc0c Lars Povlsen 2020-04-20  129          pr_info("No ID found\n");
2e15507762cfc0c Lars Povlsen 2020-04-20  130          return -ENODEV;
2e15507762cfc0c Lars Povlsen 2020-04-20  131      }
2e15507762cfc0c Lars Povlsen 2020-04-20  132  
2e15507762cfc0c Lars Povlsen 2020-04-20  133  
2e15507762cfc0c Lars Povlsen 2020-04-20  134      parent_dev = vtss_if_mux_parent_dev_get();
2e15507762cfc0c Lars Povlsen 2020-04-20  135      if (!parent_dev) {
2e15507762cfc0c Lars Povlsen 2020-04-20  136          pr_info("No parent device\n");
2e15507762cfc0c Lars Povlsen 2020-04-20  137          return -ENODEV;
2e15507762cfc0c Lars Povlsen 2020-04-20  138      }
2e15507762cfc0c Lars Povlsen 2020-04-20  139  
2e15507762cfc0c Lars Povlsen 2020-04-20  140      //pr_info("reg new device\n");
2e15507762cfc0c Lars Povlsen 2020-04-20  141      err = register_netdevice(dev);
2e15507762cfc0c Lars Povlsen 2020-04-20  142      if (err != 0) {
2e15507762cfc0c Lars Povlsen 2020-04-20  143          pr_info("Failed to register device\n");
2e15507762cfc0c Lars Povlsen 2020-04-20  144          goto exit_rx_unreg;
2e15507762cfc0c Lars Povlsen 2020-04-20  145      }
2e15507762cfc0c Lars Povlsen 2020-04-20  146  
2e15507762cfc0c Lars Povlsen 2020-04-20  147      if (priv->port_if) {
2e15507762cfc0c Lars Povlsen 2020-04-20  148          priv->port = port;
2e15507762cfc0c Lars Povlsen 2020-04-20 @149          vtss_if_mux_port_net_dev[port] = dev;
2e15507762cfc0c Lars Povlsen 2020-04-20  150          netif_carrier_on(dev);
2e15507762cfc0c Lars Povlsen 2020-04-20  151          pr_info("vtss_if_mux_newlink port=%u, addr=%p\n", port, dev);
2e15507762cfc0c Lars Povlsen 2020-04-20  152      } else {
2e15507762cfc0c Lars Povlsen 2020-04-20  153          priv->vlan_id = vlan_id;
2e15507762cfc0c Lars Povlsen 2020-04-20 @154          vtss_if_mux_vlan_net_dev[vlan_id] = dev;
2e15507762cfc0c Lars Povlsen 2020-04-20  155  
2e15507762cfc0c Lars Povlsen 2020-04-20  156          //netif_stacked_transfer_operstate(parent_dev, dev);
2e15507762cfc0c Lars Povlsen 2020-04-20  157          if (vtss_if_mux_vlan_up[vlan_id]) {
2e15507762cfc0c Lars Povlsen 2020-04-20  158              netif_carrier_on(dev);
2e15507762cfc0c Lars Povlsen 2020-04-20  159          }
2e15507762cfc0c Lars Povlsen 2020-04-20  160          pr_info("vtss_if_mux_newlink vlan=%u, addr=%p\n", vlan_id, dev);
2e15507762cfc0c Lars Povlsen 2020-04-20  161      }
2e15507762cfc0c Lars Povlsen 2020-04-20  162  
2e15507762cfc0c Lars Povlsen 2020-04-20  163      return 0;
2e15507762cfc0c Lars Povlsen 2020-04-20  164  
2e15507762cfc0c Lars Povlsen 2020-04-20  165  exit_rx_unreg:
2e15507762cfc0c Lars Povlsen 2020-04-20  166      rtnl_lock();
2e15507762cfc0c Lars Povlsen 2020-04-20  167      netdev_rx_handler_unregister(parent_dev);
2e15507762cfc0c Lars Povlsen 2020-04-20  168      rtnl_unlock();
2e15507762cfc0c Lars Povlsen 2020-04-20  169  
2e15507762cfc0c Lars Povlsen 2020-04-20  170      return err;
2e15507762cfc0c Lars Povlsen 2020-04-20  171  }
2e15507762cfc0c Lars Povlsen 2020-04-20  172  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 31604 bytes --]

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2020-12-14 17:42 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-12-14 17:42 [microchip-ung-linux-upstream:v5.10-webstax 62/88] drivers/net/ethernet/vitesse/vtss_if_mux_netlink.c:149 vtss_if_mux_newlink() warn: potential spectre issue 'vtss_if_mux_port_net_dev' (local cap) kernel test robot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.