Re: [linux-next:master 4227/4328] mm/vmscan.c:3184:40: sparse: sparse: incorrect type in argument 1 (different address spaces)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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.




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux