lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Mon, 11 Jan 2021 13:55:16 +0300
From:   Dan Carpenter <dan.carpenter@...cle.com>
To:     kbuild@...ts.01.org, Vladimir Oltean <olteanv@...il.com>,
        "David S . Miller" <davem@...emloft.net>,
        Jakub Kicinski <kuba@...nel.org>
Cc:     lkp@...el.com, kbuild-all@...ts.01.org, netdev@...r.kernel.org,
        Andrew Lunn <andrew@...n.ch>,
        Florian Fainelli <f.fainelli@...il.com>,
        Cong Wang <xiyou.wangcong@...il.com>,
        Stephen Hemminger <stephen@...workplumber.org>,
        Eric Dumazet <edumazet@...gle.com>,
        George McCollister <george.mccollister@...il.com>,
        Oleksij Rempel <o.rempel@...gutronix.de>
Subject: Re: [PATCH v5 net-next 11/16] net: propagate errors from
 dev_get_stats

Hi Vladimir,

I love your patch! Perhaps something to improve:

[auto build test WARNING on net-next/master]

url:    https://github.com/0day-ci/linux/commits/Vladimir-Oltean/Make-ndo_get_stats64-sleepable/20210109-003617
base:   https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git 58334e7537278793c86baa88b70c48b0d50b00ae
config: i386-randconfig-m021-20210108 (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@...el.com>
Reported-by: Dan Carpenter <dan.carpenter@...cle.com>

New smatch warnings:
net/core/rtnetlink.c:1821 rtnl_fill_ifinfo() warn: missing error code 'err'

vim +/err +1821 net/core/rtnetlink.c

79e1ad148c844f5c Jiri Benc            2017-11-02  1704  static int rtnl_fill_ifinfo(struct sk_buff *skb,
79e1ad148c844f5c Jiri Benc            2017-11-02  1705  			    struct net_device *dev, struct net *src_net,
b22b941b2c253a20 Hannes Frederic Sowa 2015-11-17  1706  			    int type, u32 pid, u32 seq, u32 change,
3d3ea5af5c0b382b Vlad Yasevich        2017-05-27  1707  			    unsigned int flags, u32 ext_filter_mask,
38e01b30563a5b5a Nicolas Dichtel      2018-01-25  1708  			    u32 event, int *new_nsid, int new_ifindex,
d4e4fdf9e4a27c87 Guillaume Nault      2019-10-23  1709  			    int tgt_netnsid, gfp_t gfp)
b22b941b2c253a20 Hannes Frederic Sowa 2015-11-17  1710  {
b22b941b2c253a20 Hannes Frederic Sowa 2015-11-17  1711  	struct ifinfomsg *ifm;
b22b941b2c253a20 Hannes Frederic Sowa 2015-11-17  1712  	struct nlmsghdr *nlh;
5d346342f59ffa31 Vladimir Oltean      2021-01-08  1713  	int err = -EMSGSIZE;
b22b941b2c253a20 Hannes Frederic Sowa 2015-11-17  1714  
b22b941b2c253a20 Hannes Frederic Sowa 2015-11-17  1715  	ASSERT_RTNL();
b22b941b2c253a20 Hannes Frederic Sowa 2015-11-17  1716  	nlh = nlmsg_put(skb, pid, seq, type, sizeof(*ifm), flags);
b22b941b2c253a20 Hannes Frederic Sowa 2015-11-17  1717  	if (nlh == NULL)
b22b941b2c253a20 Hannes Frederic Sowa 2015-11-17  1718  		return -EMSGSIZE;
b22b941b2c253a20 Hannes Frederic Sowa 2015-11-17  1719  
b22b941b2c253a20 Hannes Frederic Sowa 2015-11-17  1720  	ifm = nlmsg_data(nlh);
b22b941b2c253a20 Hannes Frederic Sowa 2015-11-17  1721  	ifm->ifi_family = AF_UNSPEC;
b22b941b2c253a20 Hannes Frederic Sowa 2015-11-17  1722  	ifm->__ifi_pad = 0;
b22b941b2c253a20 Hannes Frederic Sowa 2015-11-17  1723  	ifm->ifi_type = dev->type;
b22b941b2c253a20 Hannes Frederic Sowa 2015-11-17  1724  	ifm->ifi_index = dev->ifindex;
b22b941b2c253a20 Hannes Frederic Sowa 2015-11-17  1725  	ifm->ifi_flags = dev_get_flags(dev);
b22b941b2c253a20 Hannes Frederic Sowa 2015-11-17  1726  	ifm->ifi_change = change;
b22b941b2c253a20 Hannes Frederic Sowa 2015-11-17  1727  
7e4a8d5a93f649a1 Christian Brauner    2018-09-04  1728  	if (tgt_netnsid >= 0 && nla_put_s32(skb, IFLA_TARGET_NETNSID, tgt_netnsid))
79e1ad148c844f5c Jiri Benc            2017-11-02  1729  		goto nla_put_failure;
79e1ad148c844f5c Jiri Benc            2017-11-02  1730  
b22b941b2c253a20 Hannes Frederic Sowa 2015-11-17  1731  	if (nla_put_string(skb, IFLA_IFNAME, dev->name) ||
b22b941b2c253a20 Hannes Frederic Sowa 2015-11-17  1732  	    nla_put_u32(skb, IFLA_TXQLEN, dev->tx_queue_len) ||
b22b941b2c253a20 Hannes Frederic Sowa 2015-11-17  1733  	    nla_put_u8(skb, IFLA_OPERSTATE,
b22b941b2c253a20 Hannes Frederic Sowa 2015-11-17  1734  		       netif_running(dev) ? dev->operstate : IF_OPER_DOWN) ||
b22b941b2c253a20 Hannes Frederic Sowa 2015-11-17  1735  	    nla_put_u8(skb, IFLA_LINKMODE, dev->link_mode) ||
b22b941b2c253a20 Hannes Frederic Sowa 2015-11-17  1736  	    nla_put_u32(skb, IFLA_MTU, dev->mtu) ||
3e7a50ceb11ea75c Stephen Hemminger    2018-07-27  1737  	    nla_put_u32(skb, IFLA_MIN_MTU, dev->min_mtu) ||
3e7a50ceb11ea75c Stephen Hemminger    2018-07-27  1738  	    nla_put_u32(skb, IFLA_MAX_MTU, dev->max_mtu) ||
b22b941b2c253a20 Hannes Frederic Sowa 2015-11-17  1739  	    nla_put_u32(skb, IFLA_GROUP, dev->group) ||
b22b941b2c253a20 Hannes Frederic Sowa 2015-11-17  1740  	    nla_put_u32(skb, IFLA_PROMISCUITY, dev->promiscuity) ||
b22b941b2c253a20 Hannes Frederic Sowa 2015-11-17  1741  	    nla_put_u32(skb, IFLA_NUM_TX_QUEUES, dev->num_tx_queues) ||
c70ce028e834f8e5 Eric Dumazet         2016-03-21  1742  	    nla_put_u32(skb, IFLA_GSO_MAX_SEGS, dev->gso_max_segs) ||
c70ce028e834f8e5 Eric Dumazet         2016-03-21  1743  	    nla_put_u32(skb, IFLA_GSO_MAX_SIZE, dev->gso_max_size) ||
b22b941b2c253a20 Hannes Frederic Sowa 2015-11-17  1744  #ifdef CONFIG_RPS
b22b941b2c253a20 Hannes Frederic Sowa 2015-11-17  1745  	    nla_put_u32(skb, IFLA_NUM_RX_QUEUES, dev->num_rx_queues) ||
b22b941b2c253a20 Hannes Frederic Sowa 2015-11-17  1746  #endif
79110a0426d8179a Florian Westphal     2017-09-26  1747  	    put_master_ifindex(skb, dev) ||
b22b941b2c253a20 Hannes Frederic Sowa 2015-11-17  1748  	    nla_put_u8(skb, IFLA_CARRIER, netif_carrier_ok(dev)) ||
b22b941b2c253a20 Hannes Frederic Sowa 2015-11-17  1749  	    (dev->qdisc &&
b22b941b2c253a20 Hannes Frederic Sowa 2015-11-17  1750  	     nla_put_string(skb, IFLA_QDISC, dev->qdisc->ops->id)) ||
6c5570016b972d9b Florian Westphal     2017-10-02  1751  	    nla_put_ifalias(skb, dev) ||
b22b941b2c253a20 Hannes Frederic Sowa 2015-11-17  1752  	    nla_put_u32(skb, IFLA_CARRIER_CHANGES,
b2d3bcfa26a7a8de David Decotigny      2018-01-18  1753  			atomic_read(&dev->carrier_up_count) +
b2d3bcfa26a7a8de David Decotigny      2018-01-18  1754  			atomic_read(&dev->carrier_down_count)) ||
b2d3bcfa26a7a8de David Decotigny      2018-01-18  1755  	    nla_put_u32(skb, IFLA_CARRIER_UP_COUNT,
b2d3bcfa26a7a8de David Decotigny      2018-01-18  1756  			atomic_read(&dev->carrier_up_count)) ||
b2d3bcfa26a7a8de David Decotigny      2018-01-18  1757  	    nla_put_u32(skb, IFLA_CARRIER_DOWN_COUNT,
b2d3bcfa26a7a8de David Decotigny      2018-01-18  1758  			atomic_read(&dev->carrier_down_count)))
b22b941b2c253a20 Hannes Frederic Sowa 2015-11-17  1759  		goto nla_put_failure;
b22b941b2c253a20 Hannes Frederic Sowa 2015-11-17  1760  
829eb208e80d6db9 Roopa Prabhu         2020-07-31  1761  	if (rtnl_fill_proto_down(skb, dev))
829eb208e80d6db9 Roopa Prabhu         2020-07-31  1762  		goto nla_put_failure;
829eb208e80d6db9 Roopa Prabhu         2020-07-31  1763  
3d3ea5af5c0b382b Vlad Yasevich        2017-05-27  1764  	if (event != IFLA_EVENT_NONE) {
3d3ea5af5c0b382b Vlad Yasevich        2017-05-27  1765  		if (nla_put_u32(skb, IFLA_EVENT, event))
3d3ea5af5c0b382b Vlad Yasevich        2017-05-27  1766  			goto nla_put_failure;
3d3ea5af5c0b382b Vlad Yasevich        2017-05-27  1767  	}
3d3ea5af5c0b382b Vlad Yasevich        2017-05-27  1768  
b22b941b2c253a20 Hannes Frederic Sowa 2015-11-17  1769  	if (rtnl_fill_link_ifmap(skb, dev))
b22b941b2c253a20 Hannes Frederic Sowa 2015-11-17  1770  		goto nla_put_failure;
b22b941b2c253a20 Hannes Frederic Sowa 2015-11-17  1771  
b22b941b2c253a20 Hannes Frederic Sowa 2015-11-17  1772  	if (dev->addr_len) {
b22b941b2c253a20 Hannes Frederic Sowa 2015-11-17  1773  		if (nla_put(skb, IFLA_ADDRESS, dev->addr_len, dev->dev_addr) ||
b22b941b2c253a20 Hannes Frederic Sowa 2015-11-17  1774  		    nla_put(skb, IFLA_BROADCAST, dev->addr_len, dev->broadcast))
b22b941b2c253a20 Hannes Frederic Sowa 2015-11-17  1775  			goto nla_put_failure;
b22b941b2c253a20 Hannes Frederic Sowa 2015-11-17  1776  	}
b22b941b2c253a20 Hannes Frederic Sowa 2015-11-17  1777  
b22b941b2c253a20 Hannes Frederic Sowa 2015-11-17  1778  	if (rtnl_phys_port_id_fill(skb, dev))
b22b941b2c253a20 Hannes Frederic Sowa 2015-11-17  1779  		goto nla_put_failure;
b22b941b2c253a20 Hannes Frederic Sowa 2015-11-17  1780  
b22b941b2c253a20 Hannes Frederic Sowa 2015-11-17  1781  	if (rtnl_phys_port_name_fill(skb, dev))
b22b941b2c253a20 Hannes Frederic Sowa 2015-11-17  1782  		goto nla_put_failure;
b22b941b2c253a20 Hannes Frederic Sowa 2015-11-17  1783  
b22b941b2c253a20 Hannes Frederic Sowa 2015-11-17  1784  	if (rtnl_phys_switch_id_fill(skb, dev))
b22b941b2c253a20 Hannes Frederic Sowa 2015-11-17  1785  		goto nla_put_failure;
b22b941b2c253a20 Hannes Frederic Sowa 2015-11-17  1786  
5d346342f59ffa31 Vladimir Oltean      2021-01-08  1787  	err = rtnl_fill_stats(skb, dev);
5d346342f59ffa31 Vladimir Oltean      2021-01-08  1788  	if (err)
b22b941b2c253a20 Hannes Frederic Sowa 2015-11-17  1789  		goto nla_put_failure;
b22b941b2c253a20 Hannes Frederic Sowa 2015-11-17  1790  
250fc3dfdbd3e8b5 Florian Westphal     2017-09-26  1791  	if (rtnl_fill_vf(skb, dev, ext_filter_mask))
b22b941b2c253a20 Hannes Frederic Sowa 2015-11-17  1792  		goto nla_put_failure;

No error codes any more on the rest of the gotos in this function.

b22b941b2c253a20 Hannes Frederic Sowa 2015-11-17  1793  
c53864fd60227de0 David Gibson         2014-04-24  1794  	if (rtnl_port_fill(skb, dev, ext_filter_mask))
57b610805ce92dbd Scott Feldman        2010-05-17  1795  		goto nla_put_failure;
57b610805ce92dbd Scott Feldman        2010-05-17  1796  
d1fdd9138682e0f2 Brenden Blanco       2016-07-19  1797  	if (rtnl_xdp_fill(skb, dev))
d1fdd9138682e0f2 Brenden Blanco       2016-07-19  1798  		goto nla_put_failure;
d1fdd9138682e0f2 Brenden Blanco       2016-07-19  1799  
ba7d49b1f0f8e5f2 Jiri Pirko           2014-01-22  1800  	if (dev->rtnl_link_ops || rtnl_have_link_slave_info(dev)) {
38f7b870d4a6a5d3 Patrick McHardy      2007-06-13  1801  		if (rtnl_link_fill(skb, dev) < 0)
38f7b870d4a6a5d3 Patrick McHardy      2007-06-13  1802  			goto nla_put_failure;
38f7b870d4a6a5d3 Patrick McHardy      2007-06-13  1803  	}
38f7b870d4a6a5d3 Patrick McHardy      2007-06-13  1804  
d4e4fdf9e4a27c87 Guillaume Nault      2019-10-23  1805  	if (rtnl_fill_link_netnsid(skb, dev, src_net, gfp))
d37512a277dfb2ce Nicolas Dichtel      2015-01-15  1806  		goto nla_put_failure;
d37512a277dfb2ce Nicolas Dichtel      2015-01-15  1807  
6621dd29eb9b5e67 Nicolas Dichtel      2017-10-03  1808  	if (new_nsid &&
6621dd29eb9b5e67 Nicolas Dichtel      2017-10-03  1809  	    nla_put_s32(skb, IFLA_NEW_NETNSID, *new_nsid) < 0)
6621dd29eb9b5e67 Nicolas Dichtel      2017-10-03  1810  		goto nla_put_failure;
38e01b30563a5b5a Nicolas Dichtel      2018-01-25  1811  	if (new_ifindex &&
38e01b30563a5b5a Nicolas Dichtel      2018-01-25  1812  	    nla_put_s32(skb, IFLA_NEW_IFINDEX, new_ifindex) < 0)
38e01b30563a5b5a Nicolas Dichtel      2018-01-25  1813  		goto nla_put_failure;
38e01b30563a5b5a Nicolas Dichtel      2018-01-25  1814  
f74877a5457d34d6 Michal Kubecek       2019-12-11  1815  	if (memchr_inv(dev->perm_addr, '\0', dev->addr_len) &&
f74877a5457d34d6 Michal Kubecek       2019-12-11  1816  	    nla_put(skb, IFLA_PERM_ADDRESS, dev->addr_len, dev->perm_addr))
f74877a5457d34d6 Michal Kubecek       2019-12-11  1817  		goto nla_put_failure;
6621dd29eb9b5e67 Nicolas Dichtel      2017-10-03  1818  
5fa85a09390c4a52 Florian Westphal     2017-10-16  1819  	rcu_read_lock();
070cbf5be7774dcf Florian Westphal     2017-10-16  1820  	if (rtnl_fill_link_af(skb, dev, ext_filter_mask))
5fa85a09390c4a52 Florian Westphal     2017-10-16 @1821  		goto nla_put_failure_rcu;
5fa85a09390c4a52 Florian Westphal     2017-10-16  1822  	rcu_read_unlock();
f8ff182c716c6f11 Thomas Graf          2010-11-16  1823  
88f4fb0c7496a13b Jiri Pirko           2019-09-30  1824  	if (rtnl_fill_prop_list(skb, dev))
88f4fb0c7496a13b Jiri Pirko           2019-09-30  1825  		goto nla_put_failure;
88f4fb0c7496a13b Jiri Pirko           2019-09-30  1826  
053c095a82cf7730 Johannes Berg        2015-01-16  1827  	nlmsg_end(skb, nlh);
053c095a82cf7730 Johannes Berg        2015-01-16  1828  	return 0;
b60c5115f4abf0b9 Thomas Graf          2006-08-04  1829  
5fa85a09390c4a52 Florian Westphal     2017-10-16  1830  nla_put_failure_rcu:
5fa85a09390c4a52 Florian Westphal     2017-10-16  1831  	rcu_read_unlock();
b60c5115f4abf0b9 Thomas Graf          2006-08-04  1832  nla_put_failure:
26932566a42d46ae Patrick McHardy      2007-01-31  1833  	nlmsg_cancel(skb, nlh);
5d346342f59ffa31 Vladimir Oltean      2021-01-08  1834  	return err;
^1da177e4c3f4152 Linus Torvalds       2005-04-16  1835  }
^1da177e4c3f4152 Linus Torvalds       2005-04-16  1836  

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

Download attachment ".config.gz" of type "application/gzip" (30176 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ