Re: [PATCH v17 2/5] fs/proc/task_mmu: Implement IOCTL to get and optionally clear info about PTEs

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Muhammad,

kernel test robot noticed the following build errors:

[auto build test ERROR on akpm-mm/mm-everything]
[also build test ERROR on next-20230606]
[cannot apply to linus/master v6.4-rc5]
[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-UFFD_FEATURE_WP_ASYNC/20230606-141114
base:   https://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git mm-everything
patch link:    https://lore.kernel.org/r/20230606060822.1065182-3-usama.anjum%40collabora.com
patch subject: [PATCH v17 2/5] fs/proc/task_mmu: Implement IOCTL to get and optionally clear info about PTEs
config: arc-allyesconfig (https://download.01.org/0day-ci/archive/20230607/202306070414.XDn2ITuw-lkp@xxxxxxxxx/config)
compiler: arceb-elf-gcc (GCC) 12.3.0
reproduce (this is a W=1 build):
        mkdir -p ~/bin
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        git remote add akpm-mm https://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git
        git fetch akpm-mm mm-everything
        git checkout akpm-mm/mm-everything
        b4 shazam https://lore.kernel.org/r/20230606060822.1065182-3-usama.anjum@xxxxxxxxxxxxx
        # save the config file
        mkdir build_dir && cp config build_dir/.config
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.3.0 ~/bin/make.cross W=1 O=build_dir ARCH=arc olddefconfig
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.3.0 ~/bin/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>
| Closes: https://lore.kernel.org/oe-kbuild-all/202306070414.XDn2ITuw-lkp@xxxxxxxxx/

All errors (new ones prefixed by >>):

   fs/proc/task_mmu.c: In function 'pagemap_scan_pmd_entry':
>> fs/proc/task_mmu.c:1960:31: error: 'HPAGE_SIZE' undeclared (first use in this function); did you mean 'PAGE_SIZE'?
    1960 |                     n_pages < HPAGE_SIZE/PAGE_SIZE) {
         |                               ^~~~~~~~~~
         |                               PAGE_SIZE
   fs/proc/task_mmu.c:1960:31: note: each undeclared identifier is reported only once for each function it appears in


vim +1960 fs/proc/task_mmu.c

  1931	
  1932	static int pagemap_scan_pmd_entry(pmd_t *pmd, unsigned long start,
  1933					  unsigned long end, struct mm_walk *walk)
  1934	{
  1935		struct pagemap_scan_private *p = walk->private;
  1936		struct vm_area_struct *vma = walk->vma;
  1937		unsigned long addr = end;
  1938		pte_t *pte, *orig_pte;
  1939		spinlock_t *ptl;
  1940		bool is_written;
  1941		int ret = 0;
  1942	
  1943		arch_enter_lazy_mmu_mode();
  1944	
  1945	#ifdef CONFIG_TRANSPARENT_HUGEPAGE
  1946		ptl = pmd_trans_huge_lock(pmd, vma);
  1947		if (ptl) {
  1948			unsigned long n_pages = (end - start)/PAGE_SIZE;
  1949	
  1950			if (p->max_pages && n_pages > p->max_pages - p->found_pages)
  1951				n_pages = p->max_pages - p->found_pages;
  1952	
  1953			is_written = !is_pmd_uffd_wp(*pmd);
  1954	
  1955			/*
  1956			 * Break huge page into small pages if the WP operation need to
  1957			 * be performed is on a portion of the huge page.
  1958			 */
  1959			if (is_written && IS_PM_SCAN_WP(p->flags) &&
> 1960			    n_pages < HPAGE_SIZE/PAGE_SIZE) {
  1961				spin_unlock(ptl);
  1962	
  1963				split_huge_pmd(vma, pmd, start);
  1964				goto process_smaller_pages;
  1965			}
  1966	
  1967			if (IS_PM_SCAN_GET(p->flags))
  1968				ret = pagemap_scan_output(is_written, vma->vm_file,
  1969							  pmd_present(*pmd),
  1970							  is_swap_pmd(*pmd),
  1971							  p, start, n_pages);
  1972	
  1973			if (ret >= 0 && is_written && IS_PM_SCAN_WP(p->flags))
  1974				make_uffd_wp_pmd(vma, addr, pmd);
  1975	
  1976			if (IS_PM_SCAN_WP(p->flags))
  1977				flush_tlb_range(vma, start, end);
  1978	
  1979			spin_unlock(ptl);
  1980	
  1981			arch_leave_lazy_mmu_mode();
  1982			return ret;
  1983		}
  1984	
  1985	process_smaller_pages:
  1986		if (pmd_trans_unstable(pmd)) {
  1987			arch_leave_lazy_mmu_mode();
  1988			walk->action = ACTION_AGAIN;
  1989			return 0;
  1990		}
  1991	#endif
  1992	
  1993		orig_pte = pte = pte_offset_map_lock(vma->vm_mm, pmd, start, &ptl);
  1994		for (addr = start; addr < end && !ret; pte++, addr += PAGE_SIZE) {
  1995			is_written = !is_pte_uffd_wp(*pte);
  1996	
  1997			if (IS_PM_SCAN_GET(p->flags))
  1998				ret = pagemap_scan_output(is_written, vma->vm_file,
  1999							  pte_present(*pte),
  2000							  is_swap_pte(*pte),
  2001							  p, addr, 1);
  2002	
  2003			if (ret >= 0 && is_written && IS_PM_SCAN_WP(p->flags))
  2004				make_uffd_wp_pte(vma, addr, pte);
  2005		}
  2006	
  2007		if (IS_PM_SCAN_WP(p->flags))
  2008			flush_tlb_range(vma, start, addr);
  2009	
  2010		pte_unmap_unlock(orig_pte, ptl);
  2011		arch_leave_lazy_mmu_mode();
  2012	
  2013		cond_resched();
  2014		return ret;
  2015	}
  2016	

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux