tree:
https://github.com/alexshi/linux.git nextlru
head: 5a7673375c6d1a45a21feda414444b3dace74d15
commit: 20cd23a39b489c5123a1d26ef6645a12b6e38c91 [14/18] mm/lru: replace pgdat lru_lock
with lruvec lock
config: alpha-randconfig-s032-20200618 (attached as .config)
compiler: alpha-linux-gcc (GCC) 9.3.0
reproduce:
# apt-get install sparse
# sparse version: v0.6.2-rc1-10-gc17b1b06-dirty
git checkout 20cd23a39b489c5123a1d26ef6645a12b6e38c91
# save the attached .config to linux build tree
make W=1 C=1 ARCH=alpha CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__'
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 >>)
> include/linux/list.h:146:25: sparse: sparse: context imbalance in
'isolate_lru_page' - unexpected unlock
include/linux/spinlock.h:211:25:
sparse: sparse: context imbalance in 'move_pages_to_lru' - unexpected unlock
include/linux/spinlock.h:211:25: sparse: sparse: context imbalance in
'check_move_unevictable_pages' - unexpected unlock
--
include/linux/list.h:146:25: sparse: sparse: context imbalance in
'munlock_vma_page' - unexpected unlock
> include/linux/spinlock.h:211:25: sparse: sparse: context
imbalance in '__munlock_pagevec' - unexpected unlock
include/linux/mm.h:1973:21: sparse: sparse: context imbalance in
'__munlock_pagevec_fill' - different lock contexts for basic block
vim +/isolate_lru_page +146 include/linux/list.h
3c18d4de86e4a7 Linus Torvalds 2011-02-18 137
46deb7449d99f3 Paul E. McKenney 2019-11-09 138 /**
46deb7449d99f3 Paul E. McKenney 2019-11-09 139 * list_del - deletes entry from list.
46deb7449d99f3 Paul E. McKenney 2019-11-09 140 * @entry: the element to delete from the
list.
46deb7449d99f3 Paul E. McKenney 2019-11-09 141 * Note: list_empty() on entry does not
return true after this, the entry is
46deb7449d99f3 Paul E. McKenney 2019-11-09 142 * in an undefined state.
46deb7449d99f3 Paul E. McKenney 2019-11-09 143 */
^1da177e4c3f41 Linus Torvalds 2005-04-16 144 static inline void list_del(struct
list_head *entry)
^1da177e4c3f41 Linus Torvalds 2005-04-16 145 {
0cd340dcb05c4a Kees Cook 2016-08-17 @146 __list_del_entry(entry);
^1da177e4c3f41 Linus Torvalds 2005-04-16 147 entry->next = LIST_POISON1;
^1da177e4c3f41 Linus Torvalds 2005-04-16 148 entry->prev = LIST_POISON2;
^1da177e4c3f41 Linus Torvalds 2005-04-16 149 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 150
:::::: The code at line 146 was first introduced by commit
:::::: 0cd340dcb05c4a43742fe156f36737bb2a321bfd list: Split list_del() debug checking into
separate function
:::::: TO: Kees Cook <keescook(a)chromium.org>
:::::: CC: Paul E. McKenney <paulmck(a)linux.vnet.ibm.com>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org