Re: [PATCH] vdso: fix NULL deference in vdso_join_timens() when vfork

From: kernel test robot
Date: Wed Sep 07 2022 - 18:39:50 EST


Hi Jisheng,

I love your patch! Yet something to improve:

[auto build test ERROR on linus/master]
[also build test ERROR on v6.0-rc4]
[cannot apply to next-20220907]
[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#_base_tree_information]

url: https://github.com/intel-lab-lkp/linux/commits/Jisheng-Zhang/vdso-fix-NULL-deference-in-vdso_join_timens-when-vfork/20220908-011001
base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 0066f1b0e27556381402db3ff31f85d2a2265858
config: riscv-randconfig-r006-20220907 (https://download.01.org/0day-ci/archive/20220908/202209080625.DOtyS4G0-lkp@xxxxxxxxx/config)
compiler: riscv64-linux-gcc (GCC) 12.1.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/intel-lab-lkp/linux/commit/247635b442c42937dc9f0c0a04711fb3f86df2a9
git remote add linux-review https://github.com/intel-lab-lkp/linux
git fetch --no-tags linux-review Jisheng-Zhang/vdso-fix-NULL-deference-in-vdso_join_timens-when-vfork/20220908-011001
git checkout 247635b442c42937dc9f0c0a04711fb3f86df2a9
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=riscv SHELL=/bin/bash arch/riscv/kernel/

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

All errors (new ones prefixed by >>):

>> arch/riscv/kernel/vdso.c:158:24: error: 'rv_compat_vdso_maps' undeclared here (not in a function); did you mean 'rv_vdso_maps'?
158 | .dm = &rv_compat_vdso_maps[RV_VDSO_MAP_VVAR],
| ^~~~~~~~~~~~~~~~~~~
| rv_vdso_maps
arch/riscv/kernel/vdso.c:165:34: warning: 'rv_compat_vdso_maps' defined but not used [-Wunused-variable]
165 | static struct vm_special_mapping rv_compat_vdso_maps[] __ro_after_init = {
| ^~~~~~~~~~~~~~~~~~~


vim +158 arch/riscv/kernel/vdso.c

144
145 static struct __vdso_info vdso_info[] __ro_after_init = {
146 [VDSO_ABI_RV64] = {
147 .name = "vdso",
148 .vdso_code_start = vdso_start,
149 .vdso_code_end = vdso_end,
150 .dm = &rv_vdso_maps[RV_VDSO_MAP_VVAR],
151 .cm = &rv_vdso_maps[RV_VDSO_MAP_VDSO],
152 },
153 #ifdef CONFIG_COMPAT
154 [VDSO_ABI_RV32] = {
155 .name = "compat_vdso",
156 .vdso_code_start = compat_vdso_start,
157 .vdso_code_end = compat_vdso_end,
> 158 .dm = &rv_compat_vdso_maps[RV_VDSO_MAP_VVAR],
159 .cm = &rv_compat_vdso_maps[RV_VDSO_MAP_VDSO],
160 },
161 #endif
162 };
163

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