Re: [PATCH 1/5] mm/vma: move brk() internals to mm/vma.c

From: kernel test robot
Date: Wed Dec 04 2024 - 08:11:45 EST


Hi Lorenzo,

kernel test robot noticed the following build errors:

[auto build test ERROR on akpm-mm/mm-everything]

url: https://github.com/intel-lab-lkp/linux/commits/Lorenzo-Stoakes/mm-vma-move-brk-internals-to-mm-vma-c/20241204-115150
base: https://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git mm-everything
patch link: https://lore.kernel.org/r/3d24b9e67bb0261539ca921d1188a10a1b4d4357.1733248985.git.lorenzo.stoakes%40oracle.com
patch subject: [PATCH 1/5] mm/vma: move brk() internals to mm/vma.c
config: mips-ath25_defconfig (https://download.01.org/0day-ci/archive/20241204/202412042012.zymuBpfD-lkp@xxxxxxxxx/config)
compiler: clang version 20.0.0git (https://github.com/llvm/llvm-project 592c0fe55f6d9a811028b5f3507be91458ab2713)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20241204/202412042012.zymuBpfD-lkp@xxxxxxxxx/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202412042012.zymuBpfD-lkp@xxxxxxxxx/

All errors (new ones prefixed by >>):

In file included from mm/vma.c:7:
In file included from mm/vma_internal.h:12:
In file included from include/linux/backing-dev.h:16:
In file included from include/linux/writeback.h:13:
In file included from include/linux/blk_types.h:10:
In file included from include/linux/bvec.h:10:
In file included from include/linux/highmem.h:8:
In file included from include/linux/cacheflush.h:5:
In file included from arch/mips/include/asm/cacheflush.h:13:
In file included from include/linux/mm.h:2223:
include/linux/vmstat.h:518:36: warning: arithmetic between different enumeration types ('enum node_stat_item' and 'enum lru_list') [-Wenum-enum-conversion]
518 | return node_stat_name(NR_LRU_BASE + lru) + 3; // skip "nr_"
| ~~~~~~~~~~~ ^ ~~~
In file included from mm/vma.c:7:
In file included from mm/vma_internal.h:29:
include/linux/mm_inline.h:47:41: warning: arithmetic between different enumeration types ('enum node_stat_item' and 'enum lru_list') [-Wenum-enum-conversion]
47 | __mod_lruvec_state(lruvec, NR_LRU_BASE + lru, nr_pages);
| ~~~~~~~~~~~ ^ ~~~
include/linux/mm_inline.h:49:22: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum lru_list') [-Wenum-enum-conversion]
49 | NR_ZONE_LRU_BASE + lru, nr_pages);
| ~~~~~~~~~~~~~~~~ ^ ~~~
>> mm/vma.c:2503:11: error: use of undeclared identifier 'READ_IMPLIES_EXEC'
2503 | flags |= VM_DATA_DEFAULT_FLAGS | VM_ACCOUNT | mm->def_flags;
| ^
arch/mips/include/asm/page.h:215:31: note: expanded from macro 'VM_DATA_DEFAULT_FLAGS'
215 | #define VM_DATA_DEFAULT_FLAGS VM_DATA_FLAGS_TSK_EXEC
| ^
include/linux/mm.h:453:54: note: expanded from macro 'VM_DATA_FLAGS_TSK_EXEC'
453 | #define VM_DATA_FLAGS_TSK_EXEC (VM_READ | VM_WRITE | TASK_EXEC | \
| ^
include/linux/mm.h:450:44: note: expanded from macro 'TASK_EXEC'
450 | #define TASK_EXEC ((current->personality & READ_IMPLIES_EXEC) ? VM_EXEC : 0)
| ^
3 warnings and 1 error generated.


vim +/READ_IMPLIES_EXEC +2503 mm/vma.c

2481
2482 /*
2483 * do_brk_flags() - Increase the brk vma if the flags match.
2484 * @vmi: The vma iterator
2485 * @addr: The start address
2486 * @len: The length of the increase
2487 * @vma: The vma,
2488 * @flags: The VMA Flags
2489 *
2490 * Extend the brk VMA from addr to addr + len. If the VMA is NULL or the flags
2491 * do not match then create a new anonymous VMA. Eventually we may be able to
2492 * do some brk-specific accounting here.
2493 */
2494 int do_brk_flags(struct vma_iterator *vmi, struct vm_area_struct *vma,
2495 unsigned long addr, unsigned long len, unsigned long flags)
2496 {
2497 struct mm_struct *mm = current->mm;
2498
2499 /*
2500 * Check against address space limits by the changed size
2501 * Note: This happens *after* clearing old mappings in some code paths.
2502 */
> 2503 flags |= VM_DATA_DEFAULT_FLAGS | VM_ACCOUNT | mm->def_flags;

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