Hi Lorenzo, kernel test robot noticed the following build warnings: [auto build test WARNING on akpm-mm/mm-everything] [also build test WARNING on arnd-asm-generic/master soc/for-next linus/master v6.11 next-20240923] [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/Lorenzo-Stoakes/mm-madvise-introduce-PR_MADV_SELF-flag-to-process_madvise/20240924-000845 base: https://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git mm-everything patch link: https://lore.kernel.org/r/077be0d59cb1047870a84c87c62e7b027af1c75d.1727106751.git.lorenzo.stoakes%40oracle.com patch subject: [PATCH 1/2] mm/madvise: introduce PR_MADV_SELF flag to process_madvise() config: arm-aspeed_g4_defconfig (https://download.01.org/0day-ci/archive/20240924/202409240527.pAgR35QJ-lkp@xxxxxxxxx/config) compiler: clang version 20.0.0git (https://github.com/llvm/llvm-project 8663a75fa2f31299ab8d1d90288d9df92aadee88) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240924/202409240527.pAgR35QJ-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/202409240527.pAgR35QJ-lkp@xxxxxxxxx/ All warnings (new ones prefixed by >>): In file included from mm/madvise.c:9: In file included from include/linux/mman.h:5: In file included from include/linux/mm.h:2198: 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/madvise.c:21: 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/madvise.c:1542:6: warning: variable 'mm' is uninitialized when used here [-Wuninitialized] 1542 | if (mm != current->mm && !process_madvise_remote_valid(behavior)) { | ^~ mm/madvise.c:1511:22: note: initialize the variable 'mm' to silence this warning 1511 | struct mm_struct *mm; | ^ | = NULL 4 warnings generated. vim +/mm +1542 mm/madvise.c 1502 1503 SYSCALL_DEFINE5(process_madvise, int, pidfd, const struct iovec __user *, vec, 1504 size_t, vlen, int, behavior, unsigned int, flags) 1505 { 1506 ssize_t ret; 1507 struct iovec iovstack[UIO_FASTIOV]; 1508 struct iovec *iov = iovstack; 1509 struct iov_iter iter; 1510 struct task_struct *task; 1511 struct mm_struct *mm; 1512 unsigned int f_flags; 1513 1514 if (flags & ~PR_MADV_SELF) { 1515 ret = -EINVAL; 1516 goto out; 1517 } 1518 1519 ret = import_iovec(ITER_DEST, vec, vlen, ARRAY_SIZE(iovstack), &iov, &iter); 1520 if (ret < 0) 1521 goto out; 1522 1523 /* 1524 * Perform an madvise operation on the current process. No restrictions 1525 * need be applied, nor do we need to pin the task or mm_struct. 1526 */ 1527 if (flags & PR_MADV_SELF) { 1528 ret = vector_madvise(current->mm, &iter, behavior); 1529 goto free_iov; 1530 } 1531 1532 task = pidfd_get_task(pidfd, &f_flags); 1533 if (IS_ERR(task)) { 1534 ret = PTR_ERR(task); 1535 goto free_iov; 1536 } 1537 1538 /* 1539 * We need only perform this check if we are attempting to manipulate a 1540 * remote process's address space. 1541 */ > 1542 if (mm != current->mm && !process_madvise_remote_valid(behavior)) { -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki