[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20210111105515.GE5083@kadam>
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