Re: [PATCH v9 2/3] fs/proc/task_mmu: Implement IOCTL to get and/or the clear info about PTEs

From: Muhammad Usama Anjum
Date: Tue Jan 31 2023 - 11:05:07 EST


On 1/31/23 8:52 PM, kernel test robot wrote:
> Hi Muhammad,
>
> Thank you for the patch! Yet something to improve:
>
> [auto build test ERROR on shuah-kselftest/fixes]
> [also build test ERROR on linus/master v6.2-rc6 next-20230131]
> [cannot apply to shuah-kselftest/next]
> [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/Muhammad-Usama-Anjum/userfaultfd-Add-UFFD-WP-Async-support/20230131-163537
> base: https://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest.git fixes
> patch link: https://lore.kernel.org/r/20230131083257.3302830-3-usama.anjum%40collabora.com
> patch subject: [PATCH v9 2/3] fs/proc/task_mmu: Implement IOCTL to get and/or the clear info about PTEs
> config: arc-defconfig (https://download.01.org/0day-ci/archive/20230131/202301312359.8WtBkSkQ-lkp@xxxxxxxxx/config)
> compiler: arc-elf-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/11677b6b7fda958031115ea40aa219fc32c7dea4
> git remote add linux-review https://github.com/intel-lab-lkp/linux
> git fetch --no-tags linux-review Muhammad-Usama-Anjum/userfaultfd-Add-UFFD-WP-Async-support/20230131-163537
> git checkout 11677b6b7fda958031115ea40aa219fc32c7dea4
> # 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=arc olddefconfig
> COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=arc SHELL=/bin/bash
>
> If you fix the issue, kindly add following tag where applicable
> | Reported-by: kernel test robot <lkp@xxxxxxxxx>
>
> All errors (new ones prefixed by >>):
>
> fs/proc/task_mmu.c: In function 'pagemap_scan_pmd_entry':
>>> fs/proc/task_mmu.c:1927:17: error: implicit declaration of function 'uffd_wp_range' [-Werror=implicit-function-declaration]
> 1927 | uffd_wp_range(walk->mm, vma, start, addr - start, true);
> | ^~~~~~~~~~~~~
> cc1: some warnings being treated as errors
I'll fix this by adding the following patch in next version:

--- a/include/linux/userfaultfd_k.h
+++ b/include/linux/userfaultfd_k.h
@@ -190,6 +190,11 @@ static inline vm_fault_t handle_userfault(struct
vm_fault *vmf,
return VM_FAULT_SIGBUS;
}

+static inline void uffd_wp_range(struct mm_struct *dst_mm, struct
vm_area_struct *vma,
+ unsigned long start, unsigned long len,
bool enable_wp)
+{
+}
+




>
>
> vim +/uffd_wp_range +1927 fs/proc/task_mmu.c
>
> 1915
> 1916 pte = pte_offset_map_lock(vma->vm_mm, pmd, start, &ptl);
> 1917 if (IS_GET_OP(p)) {
> 1918 for (addr = start; addr < end; pte++, addr += PAGE_SIZE) {
> 1919 ret = pagemap_scan_output(!is_pte_uffd_wp(*pte), vma->vm_file,
> 1920 pte_present(*pte), is_swap_pte(*pte), p, addr, 1);
> 1921 if (ret)
> 1922 break;
> 1923 }
> 1924 }
> 1925 pte_unmap_unlock(pte - 1, ptl);
> 1926 if ((!ret || ret == -ENOSPC) && IS_WP_ENGAGE_OP(p) && (addr - start))
>> 1927 uffd_wp_range(walk->mm, vma, start, addr - start, true);
> 1928
> 1929 cond_resched();
> 1930 return ret;
> 1931 }
> 1932
>

--
BR,
Muhammad Usama Anjum