On Fri, Apr 15, 2022 at 6:35 PM kernel test robot <lkp@xxxxxxxxx> wrote: > > tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master > head: 40354149f4d738dc3492d9998e45b3f02950369a > commit: 32be05f0e1b84564fa4e5d1810191a198c47f87b [4227/4328] mm: multi-gen LRU: support page table walks > config: m68k-allyesconfig (https://download.01.org/0day-ci/archive/20220416/202204160827.ekEARWQo-lkp@xxxxxxxxx/config) > compiler: m68k-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.4-dirty > # https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=32be05f0e1b84564fa4e5d1810191a198c47f87b > git remote add linux-next https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git > git fetch --no-tags linux-next master > git checkout 32be05f0e1b84564fa4e5d1810191a198c47f87b > # save the config file to linux build tree > mkdir build_dir > COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=m68k SHELL=/bin/bash > > If you fix the issue, kindly add following tag as appropriate > Reported-by: kernel test robot <lkp@xxxxxxxxx> > > > sparse warnings: (new ones prefixed by >>) > >> mm/vmscan.c:3184:40: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct task_struct *p @@ got struct task_struct [noderef] __rcu *owner @@ > mm/vmscan.c:3184:40: sparse: expected struct task_struct *p > mm/vmscan.c:3184:40: sparse: got struct task_struct [noderef] __rcu *owner > mm/vmscan.c:1329:28: sparse: sparse: context imbalance in '__remove_mapping' - unexpected unlock > mm/vmscan.c:2203:33: sparse: sparse: context imbalance in 'folio_isolate_lru' - unexpected unlock > mm/vmscan.c:2296:48: sparse: sparse: context imbalance in 'move_pages_to_lru' - unexpected unlock > mm/vmscan.c: note: in included file (through include/linux/rculist.h, include/linux/pid.h, include/linux/sched.h, ...): > include/linux/rcupdate.h:725:9: sparse: sparse: context imbalance in 'lru_gen_look_around' - different lock contexts for basic block > mm/vmscan.c: note: in included file (through include/linux/swap.h): > include/linux/memcontrol.h:1610:39: sparse: sparse: context imbalance in 'check_move_unevictable_pages' - unexpected unlock > > vim +3184 mm/vmscan.c > > 3171 > 3172 #ifdef CONFIG_MEMCG > 3173 void lru_gen_migrate_mm(struct mm_struct *mm) > 3174 { > 3175 struct mem_cgroup *memcg; > 3176 > 3177 lockdep_assert_held(&mm->owner->alloc_lock); > 3178 > 3179 /* for mm_update_next_owner() */ > 3180 if (mem_cgroup_disabled()) > 3181 return; > 3182 > 3183 rcu_read_lock(); > > 3184 memcg = mem_cgroup_from_task(mm->owner); Will add the missing rcu_dereference() here.