[jlayton:netfs-linked-list 26/54] include/linux/page-flags.h:788:20: error: passing 'const struct page *' to parameter of type 'struct page *' discards qualifiers

From: kernel test robot
Date: Tue Jun 28 2022 - 15:43:31 EST


tree: https://git.kernel.org/pub/scm/linux/kernel/git/jlayton/linux.git netfs-linked-list
head: d35a2461e039c9131e97bb125eac59a0f04e9161
commit: 06b03c53376206f3b98cc4dbb1f061a10085309b [26/54] mm: Make some folio function arguments const
config: x86_64-randconfig-a003-20220627 (https://download.01.org/0day-ci/archive/20220629/202206290318.tpiiSqSW-lkp@xxxxxxxxx/config)
compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project df18167ac56d05f2ab55f9d874aee7ab6d5bc9a2)
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://git.kernel.org/pub/scm/linux/kernel/git/jlayton/linux.git/commit/?id=06b03c53376206f3b98cc4dbb1f061a10085309b
git remote add jlayton https://git.kernel.org/pub/scm/linux/kernel/git/jlayton/linux.git
git fetch --no-tags jlayton netfs-linked-list
git checkout 06b03c53376206f3b98cc4dbb1f061a10085309b
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=x86_64 prepare

If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <lkp@xxxxxxxxx>

All errors (new ones prefixed by >>):

In file included from arch/x86/kernel/asm-offsets.c:9:
In file included from include/linux/crypto.h:20:
In file included from include/linux/slab.h:15:
In file included from include/linux/gfp.h:6:
In file included from include/linux/mmzone.h:22:
>> include/linux/page-flags.h:788:20: error: passing 'const struct page *' to parameter of type 'struct page *' discards qualifiers [-Werror,-Wincompatible-pointer-types-discards-qualifiers]
PF_POISONED_CHECK(page);
^~~~
include/linux/page-flags.h:370:41: note: expanded from macro 'PF_POISONED_CHECK'
VM_BUG_ON_PGFLAGS(PagePoisoned(page), page); \
^~~~
include/linux/mmdebug.h:94:60: note: expanded from macro 'VM_BUG_ON_PGFLAGS'
#define VM_BUG_ON_PGFLAGS(cond, page) VM_BUG_ON_PAGE(cond, page)
^~~~
include/linux/mmdebug.h:21:14: note: expanded from macro 'VM_BUG_ON_PAGE'
dump_page(page, "VM_BUG_ON_PAGE(" __stringify(cond)")");\
^~~~
include/linux/mmdebug.h:12:29: note: passing argument to parameter 'page' here
void dump_page(struct page *page, const char *reason);
^
1 error generated.
make[2]: *** [scripts/Makefile.build:117: arch/x86/kernel/asm-offsets.s] Error 1
make[2]: Target '__build' not remade because of errors.
make[1]: *** [Makefile:1200: prepare0] Error 2
make[1]: Target 'prepare' not remade because of errors.
make: *** [Makefile:219: __sub-make] Error 2
make: Target 'prepare' not remade because of errors.


vim +788 include/linux/page-flags.h

e7d324850bfcb30 Muchun Song 2022-03-22 785
06b03c53376206f David Howells 2022-06-08 786 static __always_inline int PageHead(const struct page *page)
e7d324850bfcb30 Muchun Song 2022-03-22 787 {
e7d324850bfcb30 Muchun Song 2022-03-22 @788 PF_POISONED_CHECK(page);
e7d324850bfcb30 Muchun Song 2022-03-22 789 return test_bit(PG_head, &page->flags) && !page_is_fake_head(page);
e7d324850bfcb30 Muchun Song 2022-03-22 790 }
e7d324850bfcb30 Muchun Song 2022-03-22 791

:::::: The code at line 788 was first introduced by commit
:::::: e7d324850bfcb30df563d144c0363cc44595277d mm: hugetlb: free the 2nd vmemmap page associated with each HugeTLB page

:::::: TO: Muchun Song <songmuchun@xxxxxxxxxxxxx>
:::::: CC: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

--
0-DAY CI Kernel Test Service
https://01.org/lkp