tree:
https://git.kernel.org/pub/scm/linux/kernel/git/sashal/linux-stable.git
linux-4.19.y
head: 399849e4654ea496a6217ba4e5ee3d304c995ab4
commit: a24f9d6cf9bd65c1305344134e0182ed7bef76c8 [89/127] riscv/atomic: Fix sign extension
for RV64I
config: riscv-randconfig-s031-20210816 (attached as .config)
compiler: riscv32-linux-gcc (GCC) 11.2.0
reproduce:
wget
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O
~/bin/make.cross
chmod +x ~/bin/make.cross
# apt-get install sparse
# sparse version: v0.6.3-348-gf0e6938b-dirty
#
https://git.kernel.org/pub/scm/linux/kernel/git/sashal/linux-stable.git/c...
git remote add sashal-linux-stable
https://git.kernel.org/pub/scm/linux/kernel/git/sashal/linux-stable.git
git fetch --no-tags sashal-linux-stable linux-4.19.y
git checkout a24f9d6cf9bd65c1305344134e0182ed7bef76c8
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross C=1
CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=riscv
SHELL=/bin/bash
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
sparse warnings: (new ones prefixed by >>)
lib/rhashtable.c:302:13: sparse: sparse: incorrect type in initializer (different
address spaces) @@ expected struct bucket_table [noderef] <asn:4> *_n_ @@
got struct bucket_table *new_tbl @@
lib/rhashtable.c:302:13: sparse: expected struct bucket_table [noderef]
<asn:4> *_n_
lib/rhashtable.c:302:13: sparse: got struct bucket_table *new_tbl
> lib/rhashtable.c:302:13: sparse: sparse: cast removes address
space '<asn:4>' of expression
vim +302 lib/rhashtable.c
97defe1ecf868b Thomas Graf 2015-01-02 291
b824478b2145be Herbert Xu 2015-03-24 292 static int rhashtable_rehash_attach(struct
rhashtable *ht,
b824478b2145be Herbert Xu 2015-03-24 293 struct bucket_table *old_tbl,
aa34a6cb047884 Herbert Xu 2015-03-11 294 struct bucket_table *new_tbl)
97defe1ecf868b Thomas Graf 2015-01-02 295 {
aa34a6cb047884 Herbert Xu 2015-03-11 296 /* Make insertions go into the new, empty
table right away. Deletions
aa34a6cb047884 Herbert Xu 2015-03-11 297 * and lookups will be attempted in both
tables until we synchronize.
0ad66449aa3cba NeilBrown 2018-06-18 298 * As cmpxchg() provides strong barriers, we
do not need
0ad66449aa3cba NeilBrown 2018-06-18 299 * rcu_assign_pointer().
aa34a6cb047884 Herbert Xu 2015-03-11 300 */
aa34a6cb047884 Herbert Xu 2015-03-11 301
0ad66449aa3cba NeilBrown 2018-06-18 @302 if (cmpxchg(&old_tbl->future_tbl,
NULL, new_tbl) != NULL)
0ad66449aa3cba NeilBrown 2018-06-18 303 return -EEXIST;
b824478b2145be Herbert Xu 2015-03-24 304
b824478b2145be Herbert Xu 2015-03-24 305 return 0;
b824478b2145be Herbert Xu 2015-03-24 306 }
b824478b2145be Herbert Xu 2015-03-24 307
:::::: The code at line 302 was first introduced by commit
:::::: 0ad66449aa3cbaedbdeaf55bffce74084bb7e9f9 rhashtable: use cmpxchg() to protect
->future_tbl.
:::::: TO: NeilBrown <neilb(a)suse.com>
:::::: CC: David S. Miller <davem(a)davemloft.net>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org