Re: [PATCH v1 01/25] net: core: device_rename: Use rwsem instead of a seqcount

From: Dan Carpenter
Date: Wed May 20 2020 - 10:38:18 EST


Hi "Ahmed,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on tip/locking/core]
[also build test WARNING on nf-next/master nf/master tip/timers/core linus/master v5.7-rc6 next-20200519]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]

url: https://github.com/0day-ci/linux/commits/Ahmed-S-Darwish/seqlock-Extend-seqcount-API-with-associated-locks/20200520-055145
base: https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git 23b5ae2e8e1326c91b5dfdbb6ebcd5a6820074ae
config: x86_64-defconfig (attached as .config)

If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp@xxxxxxxxx>
Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>

smatch warnings:
net/core/dev.c:953 netdev_get_name() warn: inconsistent returns 'devnet_rename_sem'.

# https://github.com/0day-ci/linux/commit/2354e271ada778bbb935d7b20113693710905cff
git remote add linux-review https://github.com/0day-ci/linux
git remote update linux-review
git checkout 2354e271ada778bbb935d7b20113693710905cff
vim +/devnet_rename_sem +953 net/core/dev.c

5dbe7c178d3f0a4 Nicolas Schichan 2013-06-26 935 int netdev_get_name(struct net *net, char *name, int ifindex)
5dbe7c178d3f0a4 Nicolas Schichan 2013-06-26 936 {
5dbe7c178d3f0a4 Nicolas Schichan 2013-06-26 937 struct net_device *dev;
5dbe7c178d3f0a4 Nicolas Schichan 2013-06-26 938
2354e271ada778b Ahmed S. Darwish 2020-05-19 939 down_read(&devnet_rename_sem);
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

2354e271ada778b Ahmed S. Darwish 2020-05-19 940
5dbe7c178d3f0a4 Nicolas Schichan 2013-06-26 941 rcu_read_lock();
5dbe7c178d3f0a4 Nicolas Schichan 2013-06-26 942 dev = dev_get_by_index_rcu(net, ifindex);
5dbe7c178d3f0a4 Nicolas Schichan 2013-06-26 943 if (!dev) {
5dbe7c178d3f0a4 Nicolas Schichan 2013-06-26 944 rcu_read_unlock();
5dbe7c178d3f0a4 Nicolas Schichan 2013-06-26 945 return -ENODEV;
^^^^^^^^^^^^^^
We need to drop the new semaphore on error.

5dbe7c178d3f0a4 Nicolas Schichan 2013-06-26 946 }
5dbe7c178d3f0a4 Nicolas Schichan 2013-06-26 947
5dbe7c178d3f0a4 Nicolas Schichan 2013-06-26 948 strcpy(name, dev->name);
5dbe7c178d3f0a4 Nicolas Schichan 2013-06-26 949 rcu_read_unlock();
2354e271ada778b Ahmed S. Darwish 2020-05-19 950
2354e271ada778b Ahmed S. Darwish 2020-05-19 951 up_read(&devnet_rename_sem);
5dbe7c178d3f0a4 Nicolas Schichan 2013-06-26 952
5dbe7c178d3f0a4 Nicolas Schichan 2013-06-26 @953 return 0;
5dbe7c178d3f0a4 Nicolas Schichan 2013-06-26 954 }

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

Attachment: .config.gz
Description: application/gzip