From: kernel test robot <lkp@intel.com>
To: kbuild@lists.01.org
Subject: [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)
Date: Tue, 15 Dec 2020 01:42:15 +0800 [thread overview]
Message-ID: <202012150110.Ebb56G3D-lkp@intel.com> (raw)
[-- 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 --]
reply other threads:[~2020-12-14 17:42 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202012150110.Ebb56G3D-lkp@intel.com \
--to=lkp@intel.com \
--cc=kbuild@lists.01.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.