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

From: kernel test robot
Date: Tue Apr 18 2023 - 16:05:20 EST


Hi Muhammad,

kernel test robot noticed the following build warnings:

[auto build test WARNING on akpm-mm/mm-everything]
[also build test WARNING on next-20230417]
[cannot apply to linus/master v6.3-rc7]
[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/20230418-142225
base: https://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git mm-everything
patch link: https://lore.kernel.org/r/20230418062008.1434826-3-usama.anjum%40collabora.com
patch subject: [PATCH v14 2/5] fs/proc/task_mmu: Implement IOCTL to get and optionally clear info about PTEs
config: arm-defconfig (https://download.01.org/0day-ci/archive/20230419/202304190331.VR44lj9J-lkp@xxxxxxxxx/config)
compiler: arm-linux-gnueabi-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/4fe2396ba406868e01de910812e7e3c719ba11be
git remote add linux-review https://github.com/intel-lab-lkp/linux
git fetch --no-tags linux-review Muhammad-Usama-Anjum/userfaultfd-UFFD_FEATURE_WP_ASYNC/20230418-142225
git checkout 4fe2396ba406868e01de910812e7e3c719ba11be
# 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=arm olddefconfig
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=arm SHELL=/bin/bash fs/proc/

If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@xxxxxxxxx>
| Link: https://lore.kernel.org/oe-kbuild-all/202304190331.VR44lj9J-lkp@xxxxxxxxx/

All warnings (new ones prefixed by >>):

fs/proc/task_mmu.c: In function 'do_pagemap_scan':
fs/proc/task_mmu.c:2205:17: error: implicit declaration of function 'flush_tlb_mm_range'; did you mean 'flush_tlb_range'? [-Werror=implicit-function-declaration]
2205 | flush_tlb_mm_range(mm, start, end, PAGE_SHIFT, false);
| ^~~~~~~~~~~~~~~~~~
| flush_tlb_range
In file included from include/linux/highmem.h:14,
from include/linux/bvec.h:10,
from include/linux/blk_types.h:10,
from include/linux/writeback.h:13,
from include/linux/memcontrol.h:22,
from include/linux/swap.h:9,
from include/linux/mm_inline.h:7,
from fs/proc/task_mmu.c:3:
include/linux/highmem-internal.h: In function 'pagemap_scan_pmd_entry':
>> include/linux/highmem-internal.h:271:9: warning: 'orig_pte' is used uninitialized [-Wuninitialized]
271 | __kunmap_atomic(__addr); \
| ^~~~~~~~~~~~~~~
fs/proc/task_mmu.c:1934:22: note: 'orig_pte' was declared here
1934 | pte_t *pte, *orig_pte;
| ^~~~~~~~
cc1: some warnings being treated as errors


vim +/orig_pte +271 include/linux/highmem-internal.h

13f876ba77ebd5 Thomas Gleixner 2020-11-03 251
e7392b4eca84e8 Fabio M. De Francesco 2022-05-13 252 /**
e7392b4eca84e8 Fabio M. De Francesco 2022-05-13 253 * kunmap_atomic - Unmap the virtual address mapped by kmap_atomic() - deprecated!
e7392b4eca84e8 Fabio M. De Francesco 2022-05-13 254 * @__addr: Virtual address to be unmapped
e7392b4eca84e8 Fabio M. De Francesco 2022-05-13 255 *
e7392b4eca84e8 Fabio M. De Francesco 2022-05-13 256 * Unmaps an address previously mapped by kmap_atomic() and re-enables
e7392b4eca84e8 Fabio M. De Francesco 2022-05-13 257 * pagefaults. Depending on PREEMP_RT configuration, re-enables also
e7392b4eca84e8 Fabio M. De Francesco 2022-05-13 258 * migration and preemption. Users should not count on these side effects.
e7392b4eca84e8 Fabio M. De Francesco 2022-05-13 259 *
e7392b4eca84e8 Fabio M. De Francesco 2022-05-13 260 * Mappings should be unmapped in the reverse order that they were mapped.
e7392b4eca84e8 Fabio M. De Francesco 2022-05-13 261 * See kmap_local_page() for details on nesting.
e7392b4eca84e8 Fabio M. De Francesco 2022-05-13 262 *
e7392b4eca84e8 Fabio M. De Francesco 2022-05-13 263 * @__addr can be any address within the mapped page, so there is no need
e7392b4eca84e8 Fabio M. De Francesco 2022-05-13 264 * to subtract any offset that has been added. In contrast to kunmap(),
e7392b4eca84e8 Fabio M. De Francesco 2022-05-13 265 * this function takes the address returned from kmap_atomic(), not the
e7392b4eca84e8 Fabio M. De Francesco 2022-05-13 266 * page passed to it. The compiler will warn you if you pass the page.
13f876ba77ebd5 Thomas Gleixner 2020-11-03 267 */
13f876ba77ebd5 Thomas Gleixner 2020-11-03 268 #define kunmap_atomic(__addr) \
13f876ba77ebd5 Thomas Gleixner 2020-11-03 269 do { \
13f876ba77ebd5 Thomas Gleixner 2020-11-03 270 BUILD_BUG_ON(__same_type((__addr), struct page *)); \
13f876ba77ebd5 Thomas Gleixner 2020-11-03 @271 __kunmap_atomic(__addr); \
13f876ba77ebd5 Thomas Gleixner 2020-11-03 272 } while (0)
13f876ba77ebd5 Thomas Gleixner 2020-11-03 273

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