Hi Huangzhaoyang,
[FYI, it's a private test report for your RFC patch.]
[auto build test ERROR on arm64/for-next/core]
[also build test ERROR on v5.16-rc2 next-20211118]
[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]
url:
https://github.com/0day-ci/linux/commits/Huangzhaoyang/arch-arm64-introdu...
base:
https://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-next/core
config: arm64-buildonly-randconfig-r004-20211122 (attached as .config)
compiler: clang version 14.0.0 (
https://github.com/llvm/llvm-project
c133fb321f7ca6083ce15b6aa5bf89de6600e649)
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
# install arm64 cross compiling tool for clang build
# apt-get install binutils-aarch64-linux-gnu
#
https://github.com/0day-ci/linux/commit/6d67cb438683b6f0ae4e8ca1504af4f8e...
git remote add linux-review
https://github.com/0day-ci/linux
git fetch --no-tags linux-review
Huangzhaoyang/arch-arm64-introduce-RODATA_FULL_USE_PTE_CONT/20211122-133031
git checkout 6d67cb438683b6f0ae4e8ca1504af4f8e9815b88
# save the attached .config to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir
ARCH=arm64 SHELL=/bin/bash arch/arm64/mm/
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
> arch/arm64/mm/mmu.c:140:17: error: cannot take the address of an
rvalue of type 'pteval_t' (aka 'unsigned long long')
if
(old | new) & PTE_CONT)
^ ~~~~~~~~
> arch/arm64/mm/mmu.c:140:27: error: expected ';' after
expression
if (old | new) & PTE_CONT)
^
;
> arch/arm64/mm/mmu.c:140:27: error: expected expression
3
errors generated.
vim +140 arch/arm64/mm/mmu.c
133
134 /* creating or taking down mappings is always safe */
135 if (old == 0 || new == 0)
136 return true;
137
138 /* live contiguous mappings may not be manipulated at all */
139 #ifndef CONFIG_RODATA_FULL_USE_PTE_CONT
140 if (old | new) & PTE_CONT)
141 return false;
142 #endif
143
144 /* Transitioning from Non-Global to Global is unsafe */
145 if (old & ~new & PTE_NG)
146 return false;
147
148 /*
149 * Changing the memory type between Normal and Normal-Tagged is safe
150 * since Tagged is considered a permission attribute from the
151 * mismatched attribute aliases perspective.
152 */
153 if (((old & PTE_ATTRINDX_MASK) == PTE_ATTRINDX(MT_NORMAL) ||
154 (old & PTE_ATTRINDX_MASK) == PTE_ATTRINDX(MT_NORMAL_TAGGED)) &&
155 ((new & PTE_ATTRINDX_MASK) == PTE_ATTRINDX(MT_NORMAL) ||
156 (new & PTE_ATTRINDX_MASK) == PTE_ATTRINDX(MT_NORMAL_TAGGED)))
157 mask |= PTE_ATTRINDX_MASK;
158
159 return ((old ^ new) & ~mask) == 0;
160 }
161
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org