Re: [PATCH 2/2] mm: adds NOSIGBUS extension for out-of-band shmem read

From: kernel test robot
Date: Tue Jun 01 2021 - 22:04:20 EST


Hi Ming,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on linux/master]
[also build test ERROR on arm64/for-next/core powerpc/next asm-generic/master linus/master v5.13-rc4]
[cannot apply to hnaz-linux-mm/master tip/x86/core next-20210601]
[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/0day-ci/linux/commits/Ming-Lin/mm-adds-MAP_NOSIGBUS-extension-for-shmem-read/20210602-072403
base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git dd860052c99b1e088352bdd4fb7aef46f8d2ef47
config: parisc-randconfig-r015-20210601 (attached as .config)
compiler: hppa-linux-gcc (GCC) 9.3.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/0day-ci/linux/commit/c14d1ac79e68e85a2ff97e19c36100990b09a7c3
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Ming-Lin/mm-adds-MAP_NOSIGBUS-extension-for-shmem-read/20210602-072403
git checkout c14d1ac79e68e85a2ff97e19c36100990b09a7c3
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=parisc

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

All errors (new ones prefixed by >>):

In file included from mm/filemap.c:24:
include/linux/mman.h: In function 'calc_vm_flag_bits':
>> include/linux/mman.h:157:31: error: 'MAP_NOSIGBUS' undeclared (first use in this function); did you mean 'VM_NOSIGBUS'?
157 | _calc_vm_trans(flags, MAP_NOSIGBUS, VM_NOSIGBUS ) |
| ^~~~~~~~~~~~
include/linux/mman.h:131:7: note: in definition of macro '_calc_vm_trans'
131 | ((!(bit1) || !(bit2)) ? 0 : \
| ^~~~
include/linux/mman.h:157:31: note: each undeclared identifier is reported only once for each function it appears in
157 | _calc_vm_trans(flags, MAP_NOSIGBUS, VM_NOSIGBUS ) |
| ^~~~~~~~~~~~
include/linux/mman.h:131:7: note: in definition of macro '_calc_vm_trans'
131 | ((!(bit1) || !(bit2)) ? 0 : \
| ^~~~
--
In file included from mm/util.c:15:
include/linux/mman.h: In function 'calc_vm_flag_bits':
>> include/linux/mman.h:157:31: error: 'MAP_NOSIGBUS' undeclared (first use in this function); did you mean 'VM_NOSIGBUS'?
157 | _calc_vm_trans(flags, MAP_NOSIGBUS, VM_NOSIGBUS ) |
| ^~~~~~~~~~~~
include/linux/mman.h:131:7: note: in definition of macro '_calc_vm_trans'
131 | ((!(bit1) || !(bit2)) ? 0 : \
| ^~~~
include/linux/mman.h:157:31: note: each undeclared identifier is reported only once for each function it appears in
157 | _calc_vm_trans(flags, MAP_NOSIGBUS, VM_NOSIGBUS ) |
| ^~~~~~~~~~~~
include/linux/mman.h:131:7: note: in definition of macro '_calc_vm_trans'
131 | ((!(bit1) || !(bit2)) ? 0 : \
| ^~~~
mm/util.c: In function 'page_mapping':
mm/util.c:700:15: warning: variable 'entry' set but not used [-Wunused-but-set-variable]
700 | swp_entry_t entry;
| ^~~~~
--
In file included from mm/mmap.c:18:
include/linux/mman.h: In function 'calc_vm_flag_bits':
>> include/linux/mman.h:157:31: error: 'MAP_NOSIGBUS' undeclared (first use in this function); did you mean 'VM_NOSIGBUS'?
157 | _calc_vm_trans(flags, MAP_NOSIGBUS, VM_NOSIGBUS ) |
| ^~~~~~~~~~~~
include/linux/mman.h:131:7: note: in definition of macro '_calc_vm_trans'
131 | ((!(bit1) || !(bit2)) ? 0 : \
| ^~~~
include/linux/mman.h:157:31: note: each undeclared identifier is reported only once for each function it appears in
157 | _calc_vm_trans(flags, MAP_NOSIGBUS, VM_NOSIGBUS ) |
| ^~~~~~~~~~~~
include/linux/mman.h:131:7: note: in definition of macro '_calc_vm_trans'
131 | ((!(bit1) || !(bit2)) ? 0 : \
| ^~~~
mm/mmap.c: In function 'do_mmap':
>> mm/mmap.c:1422:15: error: 'MAP_NOSIGBUS' undeclared (first use in this function); did you mean 'VM_NOSIGBUS'?
1422 | if ((flags & MAP_NOSIGBUS) && ((prot & PROT_WRITE) || !shmem_file(file)))
| ^~~~~~~~~~~~
| VM_NOSIGBUS
In file included from mm/mmap.c:18:
include/linux/mman.h: In function 'calc_vm_flag_bits':
include/linux/mman.h:159:1: error: control reaches end of non-void function [-Werror=return-type]
159 | }
| ^
cc1: some warnings being treated as errors
--
In file included from drivers/char/mem.c:16:
include/linux/mman.h: In function 'calc_vm_flag_bits':
>> include/linux/mman.h:157:31: error: 'MAP_NOSIGBUS' undeclared (first use in this function); did you mean 'VM_NOSIGBUS'?
157 | _calc_vm_trans(flags, MAP_NOSIGBUS, VM_NOSIGBUS ) |
| ^~~~~~~~~~~~
include/linux/mman.h:131:7: note: in definition of macro '_calc_vm_trans'
131 | ((!(bit1) || !(bit2)) ? 0 : \
| ^~~~
include/linux/mman.h:157:31: note: each undeclared identifier is reported only once for each function it appears in
157 | _calc_vm_trans(flags, MAP_NOSIGBUS, VM_NOSIGBUS ) |
| ^~~~~~~~~~~~
include/linux/mman.h:131:7: note: in definition of macro '_calc_vm_trans'
131 | ((!(bit1) || !(bit2)) ? 0 : \
| ^~~~
drivers/char/mem.c: At top level:
drivers/char/mem.c:95:29: warning: no previous prototype for 'unxlate_dev_mem_ptr' [-Wmissing-prototypes]
95 | #define unxlate_dev_mem_ptr unxlate_dev_mem_ptr
| ^~~~~~~~~~~~~~~~~~~
drivers/char/mem.c:96:13: note: in expansion of macro 'unxlate_dev_mem_ptr'
96 | void __weak unxlate_dev_mem_ptr(phys_addr_t phys, void *addr)
| ^~~~~~~~~~~~~~~~~~~


vim +157 include/linux/mman.h

146
147 /*
148 * Combine the mmap "flags" argument into "vm_flags" used internally.
149 */
150 static inline vm_flags_t
151 calc_vm_flag_bits(unsigned long flags)
152 {
153 return _calc_vm_trans(flags, MAP_GROWSDOWN, VM_GROWSDOWN ) |
154 _calc_vm_trans(flags, MAP_DENYWRITE, VM_DENYWRITE ) |
155 _calc_vm_trans(flags, MAP_LOCKED, VM_LOCKED ) |
156 _calc_vm_trans(flags, MAP_SYNC, VM_SYNC ) |
> 157 _calc_vm_trans(flags, MAP_NOSIGBUS, VM_NOSIGBUS ) |
158 arch_calc_vm_flag_bits(flags);
159 }
160

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx

Attachment: .config.gz
Description: application/gzip