* [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.