Re: [PATCH v4 10/10] mmap locking API: rename mmap_sem to mmap_lock

From: Michel Lespinasse
Date: Tue Apr 21 2020 - 18:20:04 EST


Thanks for the report. It's an easy fix, which I will fold into change
05/10 of the series.

On Mon, Apr 20, 2020 at 10:34 PM kbuild test robot <lkp@xxxxxxxxx> wrote:
>
> Hi Michel,
>
> Thank you for the patch! Yet something to improve:
>
> [auto build test ERROR on rdma/for-next]
> [also build test ERROR on kvms390/next linus/master v5.7-rc2]
> [cannot apply to powerpc/next uml/linux-next next-20200420]
> [if your patch is applied to the wrong git tree, please drop us a note to help
> improve the system. BTW, we also suggest to use '--base' option to specify the
> base tree in git format-patch, please see https://stackoverflow.com/a/37406982]
>
> url: https://github.com/0day-ci/linux/commits/Michel-Lespinasse/Add-a-new-mmap-locking-API-wrapping-mmap_sem-calls/20200415-084649
> base: https://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git for-next
> config: riscv-randconfig-a001-20200421 (attached as .config)
> compiler: riscv64-linux-gcc (GCC) 9.3.0
> reproduce:
> wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
> chmod +x ~/bin/make.cross
> # save the attached .config to linux build tree
> COMPILER_INSTALL_PATH=$HOME/0day GCC_VERSION=9.3.0 make.cross ARCH=riscv
>
> If you fix the issue, kindly add following tag as appropriate
> Reported-by: kbuild test robot <lkp@xxxxxxxxx>
>
> All errors (new ones prefixed by >>):
>
> arch/riscv/mm/pageattr.c: In function '__set_memory':
> >> arch/riscv/mm/pageattr.c:120:21: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
> 120 | down_read(&init_mm.mmap_sem);
> | ^~~~~~~~
> | mmap_base
> arch/riscv/mm/pageattr.c:123:19: error: 'struct mm_struct' has no member named 'mmap_sem'; did you mean 'mmap_base'?
> 123 | up_read(&init_mm.mmap_sem);
> | ^~~~~~~~
> | mmap_base
>
> vim +120 arch/riscv/mm/pageattr.c
>
> d3ab332a502123 Zong Li 2020-03-10 105
> d3ab332a502123 Zong Li 2020-03-10 106 static int __set_memory(unsigned long addr, int numpages, pgprot_t set_mask,
> d3ab332a502123 Zong Li 2020-03-10 107 pgprot_t clear_mask)
> d3ab332a502123 Zong Li 2020-03-10 108 {
> d3ab332a502123 Zong Li 2020-03-10 109 int ret;
> d3ab332a502123 Zong Li 2020-03-10 110 unsigned long start = addr;
> d3ab332a502123 Zong Li 2020-03-10 111 unsigned long end = start + PAGE_SIZE * numpages;
> d3ab332a502123 Zong Li 2020-03-10 112 struct pageattr_masks masks = {
> d3ab332a502123 Zong Li 2020-03-10 113 .set_mask = set_mask,
> d3ab332a502123 Zong Li 2020-03-10 114 .clear_mask = clear_mask
> d3ab332a502123 Zong Li 2020-03-10 115 };
> d3ab332a502123 Zong Li 2020-03-10 116
> d3ab332a502123 Zong Li 2020-03-10 117 if (!numpages)
> d3ab332a502123 Zong Li 2020-03-10 118 return 0;
> d3ab332a502123 Zong Li 2020-03-10 119
> d3ab332a502123 Zong Li 2020-03-10 @120 down_read(&init_mm.mmap_sem);
> d3ab332a502123 Zong Li 2020-03-10 121 ret = walk_page_range_novma(&init_mm, start, end, &pageattr_ops, NULL,
> d3ab332a502123 Zong Li 2020-03-10 122 &masks);
> d3ab332a502123 Zong Li 2020-03-10 123 up_read(&init_mm.mmap_sem);
> d3ab332a502123 Zong Li 2020-03-10 124
> d3ab332a502123 Zong Li 2020-03-10 125 flush_tlb_kernel_range(start, end);
> d3ab332a502123 Zong Li 2020-03-10 126
> d3ab332a502123 Zong Li 2020-03-10 127 return ret;
> d3ab332a502123 Zong Li 2020-03-10 128 }
> d3ab332a502123 Zong Li 2020-03-10 129
>
> :::::: The code at line 120 was first introduced by commit
> :::::: d3ab332a5021235a74fd832a49c6a99404920d88 riscv: add ARCH_HAS_SET_MEMORY support
>
> :::::: TO: Zong Li <zong.li@xxxxxxxxxx>
> :::::: CC: Palmer Dabbelt <palmerdabbelt@xxxxxxxxxx>
>
> ---
> 0-DAY CI Kernel Test Service, Intel Corporation
> https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx



--
Michel "Walken" Lespinasse
A program is never fully debugged until the last user dies.