Re: [linux-next:master 1876/2065] mm/vmscan.c:3232:9: sparse: sparse: incorrect type in argument 1 (different address spaces)

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

 



On Thu, Aug 18, 2022 at 11:50 AM kernel test robot <lkp@xxxxxxxxx> wrote:
>
> tree:   https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
> head:   5b6a4bf680d61b1dd26629840f848d0df8983c62
> commit: 37f44f48d52d734fe0879909f5071a6c635d255b [1876/2065] mm: multi-gen LRU: support page table walks
> config: sparc64-randconfig-s053-20220818
> compiler: sparc64-linux-gcc (GCC) 12.1.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-39-gce1a6720-dirty
>         # https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=37f44f48d52d734fe0879909f5071a6c635d255b
>         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 37f44f48d52d734fe0879909f5071a6c635d255b
>         # save the config file
>         mkdir build_dir && cp config build_dir/.config
>         COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=sparc64 SHELL=/bin/bash
>
> If you fix the issue, kindly add following tag where applicable
> Reported-by: kernel test robot <lkp@xxxxxxxxx>
>
> sparse warnings: (new ones prefixed by >>)
> >> mm/vmscan.c:3232:9: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected struct lockdep_map const *lock @@     got struct lockdep_map [noderef] __rcu * @@
>    mm/vmscan.c:3232:9: sparse:     expected struct lockdep_map const *lock
>    mm/vmscan.c:3232:9: sparse:     got struct lockdep_map [noderef] __rcu *
...
> vim +3232 mm/vmscan.c
>
>   3226
>   3227  #ifdef CONFIG_MEMCG
>   3228  void lru_gen_migrate_mm(struct mm_struct *mm)
>   3229  {
>   3230          struct mem_cgroup *memcg;
>   3231
> > 3232          lockdep_assert_held(&mm->owner->alloc_lock);
...

Thanks. Queued the fix:

    struct task_struct *task = rcu_dereference_protected(mm->owner, true);

    lockdep_assert_held(&task->alloc_lock);




[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