Re: [PATCH] mm: memcontrol: add the mempolicy interface for cgroup v2.

From: kernel test robot
Date: Tue May 24 2022 - 09:11:47 EST


Hi hezhongkun,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on linus/master]
[also build test ERROR on v5.18 next-20220524]
[cannot apply to akpm-mm/mm-everything]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]

url: https://github.com/intel-lab-lkp/linux/commits/hezhongkun/mm-memcontrol-add-the-mempolicy-interface-for-cgroup-v2/20220524-183922
base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 143a6252e1b8ab424b4b293512a97cca7295c182
config: x86_64-defconfig (https://download.01.org/0day-ci/archive/20220524/202205242108.pqUxw2OF-lkp@xxxxxxxxx/config)
compiler: gcc-11 (Debian 11.3.0-1) 11.3.0
reproduce (this is a W=1 build):
# https://github.com/intel-lab-lkp/linux/commit/6adb0a02c27c8811bee9783451ee25155baf490e
git remote add linux-review https://github.com/intel-lab-lkp/linux
git fetch --no-tags linux-review hezhongkun/mm-memcontrol-add-the-mempolicy-interface-for-cgroup-v2/20220524-183922
git checkout 6adb0a02c27c8811bee9783451ee25155baf490e
# save the config file
mkdir build_dir && cp config build_dir/.config
make W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash

If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <lkp@xxxxxxxxx>

All error/warnings (new ones prefixed by >>):

>> mm/mempolicy.c:179:19: warning: no previous prototype for 'get_cgrp_or_task_policy' [-Wmissing-prototypes]
179 | struct mempolicy *get_cgrp_or_task_policy(struct task_struct *p)
| ^~~~~~~~~~~~~~~~~~~~~~~
mm/mempolicy.c: In function 'get_cgrp_or_task_policy':
>> mm/mempolicy.c:182:36: error: implicit declaration of function 'mem_cgroup_from_task'; did you mean 'perf_cgroup_from_task'? [-Werror=implicit-function-declaration]
182 | struct mem_cgroup *memcg = mem_cgroup_from_task(p);
| ^~~~~~~~~~~~~~~~~~~~
| perf_cgroup_from_task
>> mm/mempolicy.c:182:36: warning: initialization of 'struct mem_cgroup *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
>> mm/mempolicy.c:184:30: error: invalid use of undefined type 'struct mem_cgroup'
184 | pol = (memcg && memcg->mempolicy) ? memcg->mempolicy : get_task_policy(p);
| ^~
mm/mempolicy.c:184:50: error: invalid use of undefined type 'struct mem_cgroup'
184 | pol = (memcg && memcg->mempolicy) ? memcg->mempolicy : get_task_policy(p);
| ^~
mm/mempolicy.c: In function 'get_cgrp_or_vma_policy':
mm/mempolicy.c:1799:36: warning: initialization of 'struct mem_cgroup *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
1799 | struct mem_cgroup *memcg = mem_cgroup_from_task(current);
| ^~~~~~~~~~~~~~~~~~~~
mm/mempolicy.c:1801:30: error: invalid use of undefined type 'struct mem_cgroup'
1801 | pol = (memcg && memcg->mempolicy) ? memcg->mempolicy : get_vma_policy(vma, addr);
| ^~
mm/mempolicy.c:1801:50: error: invalid use of undefined type 'struct mem_cgroup'
1801 | pol = (memcg && memcg->mempolicy) ? memcg->mempolicy : get_vma_policy(vma, addr);
| ^~
cc1: some warnings being treated as errors


vim +182 mm/mempolicy.c

178
> 179 struct mempolicy *get_cgrp_or_task_policy(struct task_struct *p)
180 {
181 struct mempolicy *pol;
> 182 struct mem_cgroup *memcg = mem_cgroup_from_task(p);
183
> 184 pol = (memcg && memcg->mempolicy) ? memcg->mempolicy : get_task_policy(p);
185 return pol;
186 }
187

--
0-DAY CI Kernel Test Service
https://01.org/lkp