tree:
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git
linux-4.4.y
head: eeb2e2f2ab09a74225c0ea2a481c87aef3557245
commit: f579da2a8c318e5fd1bef6ad5c300386eff9fe7d [906/2125] powerpc/64s: flush L1D after
user accesses
config: powerpc-randconfig-r001-20210615 (attached as .config)
compiler: powerpc64-linux-gcc (GCC) 7.5.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://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.gi...
git remote add linux-stable-rc
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git
git fetch --no-tags linux-stable-rc linux-4.4.y
git checkout f579da2a8c318e5fd1bef6ad5c300386eff9fe7d
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-7.5.0 make.cross ARCH=powerpc
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
Note: the linux-stable-rc/linux-4.4.y HEAD eeb2e2f2ab09a74225c0ea2a481c87aef3557245 builds
fine.
It only hurts bisectibility.
All errors (new ones prefixed by >>):
include/linux/compiler.h:163:42: note: in definition of macro '__trace_if'
if (__builtin_constant_p(!!(cond)) ? !!(cond) : \
^~~~
arch/powerpc/include/asm/kvm_ppc.h:287:2: note: in expansion of macro 'if'
if (vcpu->arch.last_inst == KVM_INST_FETCH_FAILED)
^~
arch/powerpc/include/asm/kvm_ppc.h:287:27: error: comparison between signed and
unsigned integer expressions [-Werror=sign-compare]
if (vcpu->arch.last_inst == KVM_INST_FETCH_FAILED)
^
include/linux/compiler.h:174:16: note: in definition of macro '__trace_if'
______r = !!(cond); \
^~~~
arch/powerpc/include/asm/kvm_ppc.h:287:2: note: in expansion of macro 'if'
if (vcpu->arch.last_inst == KVM_INST_FETCH_FAILED)
^~
arch/powerpc/include/asm/kvm_ppc.h: In function 'kvmppc_mmu_flush_icache':
arch/powerpc/include/asm/page.h:129:32: error: comparison of unsigned expression >=
0 is always true [-Werror=type-limits]
#define pfn_valid(pfn) ((pfn) >= ARCH_PFN_OFFSET && (pfn) < max_mapnr)
^
include/linux/compiler.h:163:30: note: in definition of macro '__trace_if'
if (__builtin_constant_p(!!(cond)) ? !!(cond) : \
^~~~
arch/powerpc/include/asm/kvm_ppc.h:525:2: note: in expansion of macro 'if'
if (!pfn_valid(pfn))
^~
arch/powerpc/include/asm/kvm_ppc.h:525:7: note: in expansion of macro
'pfn_valid'
if (!pfn_valid(pfn))
^~~~~~~~~
arch/powerpc/include/asm/page.h:129:32: error: comparison of unsigned expression >=
0 is always true [-Werror=type-limits]
#define pfn_valid(pfn) ((pfn) >= ARCH_PFN_OFFSET && (pfn) < max_mapnr)
^
include/linux/compiler.h:163:42: note: in definition of macro '__trace_if'
if (__builtin_constant_p(!!(cond)) ? !!(cond) : \
^~~~
arch/powerpc/include/asm/kvm_ppc.h:525:2: note: in expansion of macro 'if'
if (!pfn_valid(pfn))
^~
arch/powerpc/include/asm/kvm_ppc.h:525:7: note: in expansion of macro
'pfn_valid'
if (!pfn_valid(pfn))
^~~~~~~~~
arch/powerpc/include/asm/page.h:129:32: error: comparison of unsigned expression >=
0 is always true [-Werror=type-limits]
#define pfn_valid(pfn) ((pfn) >= ARCH_PFN_OFFSET && (pfn) < max_mapnr)
^
include/linux/compiler.h:174:16: note: in definition of macro '__trace_if'
______r = !!(cond); \
^~~~
arch/powerpc/include/asm/kvm_ppc.h:525:2: note: in expansion of macro 'if'
if (!pfn_valid(pfn))
^~
arch/powerpc/include/asm/kvm_ppc.h:525:7: note: in expansion of macro
'pfn_valid'
if (!pfn_valid(pfn))
^~~~~~~~~
arch/powerpc/kernel/setup_64.c: At top level:
arch/powerpc/kernel/setup_64.c:254:13: error: no previous declaration for
'early_setup' [-Werror=missing-declarations]
void __init early_setup(unsigned long dt_ptr)
^~~~~~~~~~~
arch/powerpc/kernel/setup_64.c:334:6: error: no previous declaration for
'early_setup_secondary' [-Werror=missing-declarations]
void early_setup_secondary(void)
^~~~~~~~~~~~~~~~~~~~~
arch/powerpc/kernel/setup_64.c:479:13: error: no previous declaration for
'setup_system' [-Werror=missing-declarations]
void __init setup_system(void)
^~~~~~~~~~~~
In file included from include/linux/rcupdate.h:40:0,
from include/linux/rbtree.h:34,
from include/linux/sched.h:22,
from arch/powerpc/kernel/setup_64.c:17:
arch/powerpc/kernel/setup_64.c: In function 'irqstack_early_init':
include/linux/cpumask.h:223:9: error: comparison between signed and unsigned integer
expressions [-Werror=sign-compare]
(cpu) < nr_cpu_ids;)
^
include/linux/cpumask.h:743:36: note: in expansion of macro 'for_each_cpu'
#define for_each_possible_cpu(cpu) for_each_cpu((cpu), cpu_possible_mask)
^~~~~~~~~~~~
arch/powerpc/kernel/setup_64.c:624:2: note: in expansion of macro
'for_each_possible_cpu'
for_each_possible_cpu(i) {
^~~~~~~~~~~~~~~~~~~~~
arch/powerpc/kernel/setup_64.c: In function 'emergency_stack_init':
include/linux/cpumask.h:223:9: error: comparison between signed and unsigned integer
expressions [-Werror=sign-compare]
(cpu) < nr_cpu_ids;)
^
include/linux/cpumask.h:743:36: note: in expansion of macro 'for_each_cpu'
#define for_each_possible_cpu(cpu) for_each_cpu((cpu), cpu_possible_mask)
^~~~~~~~~~~~
arch/powerpc/kernel/setup_64.c:682:2: note: in expansion of macro
'for_each_possible_cpu'
for_each_possible_cpu(i) {
^~~~~~~~~~~~~~~~~~~~~
arch/powerpc/kernel/setup_64.c: In function 'setup_per_cpu_areas':
include/linux/cpumask.h:223:9: error: comparison between signed and unsigned integer
expressions [-Werror=sign-compare]
(cpu) < nr_cpu_ids;)
^
include/linux/cpumask.h:743:36: note: in expansion of macro 'for_each_cpu'
#define for_each_possible_cpu(cpu) for_each_cpu((cpu), cpu_possible_mask)
^~~~~~~~~~~~
arch/powerpc/kernel/setup_64.c:802:2: note: in expansion of macro
'for_each_possible_cpu'
for_each_possible_cpu(cpu) {
^~~~~~~~~~~~~~~~~~~~~
arch/powerpc/kernel/setup_64.c: At top level:
arch/powerpc/kernel/setup_64.c:910:6: error: no previous declaration for
'entry_flush_enable' [-Werror=missing-declarations]
void entry_flush_enable(bool enable)
^~~~~~~~~~~~~~~~~~
> arch/powerpc/kernel/setup_64.c:922:6: error: no previous
declaration for 'uaccess_flush_enable' [-Werror=missing-declarations]
void uaccess_flush_enable(bool enable)
^~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
vim +/uaccess_flush_enable +922 arch/powerpc/kernel/setup_64.c
921
922 void uaccess_flush_enable(bool enable)
923 {
924 if (enable) {
925 do_uaccess_flush_fixups(enabled_flush_types);
926 if (static_key_initialized)
927 static_branch_enable(&uaccess_flush_key);
928 else
929 printk(KERN_DEBUG "uaccess-flush: deferring static key until after static
key initialization\n");
930 on_each_cpu(do_nothing, NULL, 1);
931 } else {
932 static_branch_disable(&uaccess_flush_key);
933 do_uaccess_flush_fixups(L1D_FLUSH_NONE);
934 }
935
936 uaccess_flush = enable;
937 }
938
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org