Hi Matthew, kernel test robot noticed the following build warnings: [auto build test WARNING on akpm-mm/mm-everything] [also build test WARNING on linus/master next-20240724] [cannot apply to tip/x86/mm dennis-percpu/for-next v6.10] [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/Matthew-Wilcox-Oracle/bootmem-Stop-using-page-index/20240723-233932 base: https://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git mm-everything patch link: https://lore.kernel.org/r/20240723153503.1669586-3-willy%40infradead.org patch subject: [PATCH 2/6] mm: Constify page_address_in_vma() config: sh-migor_defconfig (https://download.01.org/0day-ci/archive/20240724/202407241541.GgplaeTD-lkp@xxxxxxxxx/config) compiler: sh4-linux-gcc (GCC) 14.1.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240724/202407241541.GgplaeTD-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/202407241541.GgplaeTD-lkp@xxxxxxxxx/ All warnings (new ones prefixed by >>): In file included from mm/rmap.c:56: mm/rmap.c: In function 'page_address_in_vma': >> mm/rmap.c:796:47: warning: passing argument 1 of 'folio_pfn' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] 796 | pgoff = folio->index + folio_page_idx(folio, page); | ^~~~~ include/linux/mm.h:216:69: note: in definition of macro 'folio_page_idx' 216 | #define folio_page_idx(folio, p) (page_to_pfn(p) - folio_pfn(folio)) | ^~~~~ include/linux/mm.h:1877:53: note: expected 'struct folio *' but argument is of type 'const struct folio *' 1877 | static inline unsigned long folio_pfn(struct folio *folio) | ~~~~~~~~~~~~~~^~~~~ vim +796 mm/rmap.c 72b252aed506b8 Mel Gorman 2015-09-04 769 ^1da177e4c3f41 Linus Torvalds 2005-04-16 770 /* bf89c8c8673223 Huang Shijie 2009-10-01 771 * At what user virtual address is page expected in vma? ab941e0fff3947 Naoya Horiguchi 2010-05-11 772 * Caller should check the page is actually part of the vma. ^1da177e4c3f41 Linus Torvalds 2005-04-16 773 */ eb7052fd71d991 Matthew Wilcox (Oracle 2024-07-23 774) unsigned long page_address_in_vma(const struct page *page, eb7052fd71d991 Matthew Wilcox (Oracle 2024-07-23 775) struct vm_area_struct *vma) ^1da177e4c3f41 Linus Torvalds 2005-04-16 776 { eb7052fd71d991 Matthew Wilcox (Oracle 2024-07-23 777) const struct folio *folio = page_folio(page); 412ad5fbe9285f Matthew Wilcox (Oracle 2024-03-28 778) pgoff_t pgoff; 412ad5fbe9285f Matthew Wilcox (Oracle 2024-03-28 779) e05b34539d008a Matthew Wilcox (Oracle 2022-01-29 780) if (folio_test_anon(folio)) { e05b34539d008a Matthew Wilcox (Oracle 2022-01-29 781) struct anon_vma *page__anon_vma = folio_anon_vma(folio); 4829b906cc063c Hugh Dickins 2010-10-02 782 /* 4829b906cc063c Hugh Dickins 2010-10-02 783 * Note: swapoff's unuse_vma() is more efficient with this 4829b906cc063c Hugh Dickins 2010-10-02 784 * check, and needs it to match anon_vma when KSM is active. 4829b906cc063c Hugh Dickins 2010-10-02 785 */ 4829b906cc063c Hugh Dickins 2010-10-02 786 if (!vma->anon_vma || !page__anon_vma || 4829b906cc063c Hugh Dickins 2010-10-02 787 vma->anon_vma->root != page__anon_vma->root) 21d0d443cdc165 Andrea Arcangeli 2010-08-09 788 return -EFAULT; 31657170deaf1d Jue Wang 2021-06-15 789 } else if (!vma->vm_file) { ^1da177e4c3f41 Linus Torvalds 2005-04-16 790 return -EFAULT; e05b34539d008a Matthew Wilcox (Oracle 2022-01-29 791) } else if (vma->vm_file->f_mapping != folio->mapping) { ^1da177e4c3f41 Linus Torvalds 2005-04-16 792 return -EFAULT; 31657170deaf1d Jue Wang 2021-06-15 793 } 494334e43c16d6 Hugh Dickins 2021-06-15 794 412ad5fbe9285f Matthew Wilcox (Oracle 2024-03-28 795) /* The !page__anon_vma above handles KSM folios */ 412ad5fbe9285f Matthew Wilcox (Oracle 2024-03-28 @796) pgoff = folio->index + folio_page_idx(folio, page); e0abfbb6714244 Matthew Wilcox (Oracle 2024-03-28 797) return vma_address(vma, pgoff, 1); ^1da177e4c3f41 Linus Torvalds 2005-04-16 798 } ^1da177e4c3f41 Linus Torvalds 2005-04-16 799 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki