[xilinx-xlnx:xlnx_rebase_v5.15_LTS 480/1091] include/linux/cpumask.h:95:42: error: enumerator value for 'FIX_KMAP_END' is not an integer constant

kernel test robot lkp at intel.com
Thu Apr 7 06:02:30 PDT 2022


Hi Michal,

FYI, the error/warning still remains.

tree:   https://github.com/Xilinx/linux-xlnx xlnx_rebase_v5.15_LTS
head:   031eb9ce665429a9574c95f89bcc488fd0ba0ec1
commit: 23b920bb9d53a7fcb8e9938f70228ae4d137f244 [480/1091] microblaze: Enable experimental SMP functionality
config: microblaze-randconfig-r021-20220407 (https://download.01.org/0day-ci/archive/20220407/202204072110.MFw9v8To-lkp@intel.com/config)
compiler: microblaze-linux-gcc (GCC) 11.2.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/Xilinx/linux-xlnx/commit/23b920bb9d53a7fcb8e9938f70228ae4d137f244
        git remote add xilinx-xlnx https://github.com/Xilinx/linux-xlnx
        git fetch --no-tags xilinx-xlnx xlnx_rebase_v5.15_LTS
        git checkout 23b920bb9d53a7fcb8e9938f70228ae4d137f244
        # save the config file to linux build tree
        mkdir build_dir
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=microblaze SHELL=/bin/bash arch/microblaze/kernel/ kernel/

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp at intel.com>

All error/warnings (new ones prefixed by >>):

   In file included from include/linux/smp.h:13,
                    from include/linux/lockdep.h:14,
                    from include/linux/spinlock.h:63,
                    from include/linux/mmzone.h:8,
                    from include/linux/gfp.h:6,
                    from include/linux/mm.h:10,
                    from arch/microblaze/kernel/ptrace.c:28:
>> include/linux/cpumask.h:95:42: error: enumerator value for 'FIX_KMAP_END' is not an integer constant
      95 | #define cpu_possible_mask ((const struct cpumask *)&__cpu_possible_mask)
         |                                          ^~~~~~~
   include/linux/cpumask.h:889:48: note: in expansion of macro 'cpu_possible_mask'
     889 | #define num_possible_cpus()     cpumask_weight(cpu_possible_mask)
         |                                                ^~~~~~~~~~~~~~~~~
   arch/microblaze/include/asm/fixmap.h:50:55: note: in expansion of macro 'num_possible_cpus'
      50 |         FIX_KMAP_END = FIX_KMAP_BEGIN + (KM_MAX_IDX * num_possible_cpus()) - 1,
         |                                                       ^~~~~~~~~~~~~~~~~
--
   arch/microblaze/kernel/smp.c: In function 'smp_prepare_cpus':
>> arch/microblaze/kernel/smp.c:197:43: warning: parameter 'max_cpus' set but not used [-Wunused-but-set-parameter]
     197 | void __init smp_prepare_cpus(unsigned int max_cpus)
         |                              ~~~~~~~~~~~~~^~~~~~~~
--
   In file included from include/linux/smp.h:13,
                    from include/linux/lockdep.h:14,
                    from include/linux/spinlock.h:63,
                    from include/linux/mmzone.h:8,
                    from include/linux/gfp.h:6,
                    from include/linux/slab.h:15,
                    from kernel/fork.c:16:
>> include/linux/cpumask.h:95:42: error: enumerator value for 'FIX_KMAP_END' is not an integer constant
      95 | #define cpu_possible_mask ((const struct cpumask *)&__cpu_possible_mask)
         |                                          ^~~~~~~
   include/linux/cpumask.h:889:48: note: in expansion of macro 'cpu_possible_mask'
     889 | #define num_possible_cpus()     cpumask_weight(cpu_possible_mask)
         |                                                ^~~~~~~~~~~~~~~~~
   arch/microblaze/include/asm/fixmap.h:50:55: note: in expansion of macro 'num_possible_cpus'
      50 |         FIX_KMAP_END = FIX_KMAP_BEGIN + (KM_MAX_IDX * num_possible_cpus()) - 1,
         |                                                       ^~~~~~~~~~~~~~~~~
   kernel/fork.c:162:13: warning: no previous prototype for 'arch_release_task_struct' [-Wmissing-prototypes]
     162 | void __weak arch_release_task_struct(struct task_struct *tsk)
         |             ^~~~~~~~~~~~~~~~~~~~~~~~
   kernel/fork.c:764:20: warning: no previous prototype for 'arch_task_cache_init' [-Wmissing-prototypes]
     764 | void __init __weak arch_task_cache_init(void) { }
         |                    ^~~~~~~~~~~~~~~~~~~~
   kernel/fork.c:859:12: warning: no previous prototype for 'arch_dup_task_struct' [-Wmissing-prototypes]
     859 | int __weak arch_dup_task_struct(struct task_struct *dst,
         |            ^~~~~~~~~~~~~~~~~~~~
--
   In file included from include/linux/smp.h:13,
                    from include/linux/lockdep.h:14,
                    from include/linux/spinlock.h:63,
                    from include/linux/mmzone.h:8,
                    from include/linux/gfp.h:6,
                    from include/linux/mm.h:10,
                    from kernel/exit.c:8:
>> include/linux/cpumask.h:95:42: error: enumerator value for 'FIX_KMAP_END' is not an integer constant
      95 | #define cpu_possible_mask ((const struct cpumask *)&__cpu_possible_mask)
         |                                          ^~~~~~~
   include/linux/cpumask.h:889:48: note: in expansion of macro 'cpu_possible_mask'
     889 | #define num_possible_cpus()     cpumask_weight(cpu_possible_mask)
         |                                                ^~~~~~~~~~~~~~~~~
   arch/microblaze/include/asm/fixmap.h:50:55: note: in expansion of macro 'num_possible_cpus'
      50 |         FIX_KMAP_END = FIX_KMAP_BEGIN + (KM_MAX_IDX * num_possible_cpus()) - 1,
         |                                                       ^~~~~~~~~~~~~~~~~
   kernel/exit.c:1810:13: warning: no previous prototype for 'abort' [-Wmissing-prototypes]
    1810 | __weak void abort(void)
         |             ^~~~~
--
   In file included from include/linux/mm_types_task.h:14,
                    from include/linux/mm_types.h:5,
                    from include/linux/buildid.h:5,
                    from include/linux/kallsyms.h:10,
                    from kernel/kallsyms.c:15:
>> include/linux/cpumask.h:95:42: error: enumerator value for 'FIX_KMAP_END' is not an integer constant
      95 | #define cpu_possible_mask ((const struct cpumask *)&__cpu_possible_mask)
         |                                          ^~~~~~~
   include/linux/cpumask.h:889:48: note: in expansion of macro 'cpu_possible_mask'
     889 | #define num_possible_cpus()     cpumask_weight(cpu_possible_mask)
         |                                                ^~~~~~~~~~~~~~~~~
   arch/microblaze/include/asm/fixmap.h:50:55: note: in expansion of macro 'num_possible_cpus'
      50 |         FIX_KMAP_END = FIX_KMAP_BEGIN + (KM_MAX_IDX * num_possible_cpus()) - 1,
         |                                                       ^~~~~~~~~~~~~~~~~
   kernel/kallsyms.c:566:12: warning: no previous prototype for 'arch_get_kallsym' [-Wmissing-prototypes]
     566 | int __weak arch_get_kallsym(unsigned int symnum, unsigned long *value,
         |            ^~~~~~~~~~~~~~~~
--
   In file included from include/linux/smp.h:13,
                    from include/linux/lockdep.h:14,
                    from include/linux/spinlock.h:63,
                    from include/linux/mmzone.h:8,
                    from include/linux/gfp.h:6,
                    from include/linux/mm.h:10,
                    from include/linux/ring_buffer.h:5,
                    from kernel/trace/trace.c:15:
>> include/linux/cpumask.h:95:42: error: enumerator value for 'FIX_KMAP_END' is not an integer constant
      95 | #define cpu_possible_mask ((const struct cpumask *)&__cpu_possible_mask)
         |                                          ^~~~~~~
   include/linux/cpumask.h:889:48: note: in expansion of macro 'cpu_possible_mask'
     889 | #define num_possible_cpus()     cpumask_weight(cpu_possible_mask)
         |                                                ^~~~~~~~~~~~~~~~~
   arch/microblaze/include/asm/fixmap.h:50:55: note: in expansion of macro 'num_possible_cpus'
      50 |         FIX_KMAP_END = FIX_KMAP_BEGIN + (KM_MAX_IDX * num_possible_cpus()) - 1,
         |                                                       ^~~~~~~~~~~~~~~~~
   kernel/trace/trace.c: In function 'trace_check_vprintf':
   kernel/trace/trace.c:3836:17: warning: function 'trace_check_vprintf' might be a candidate for 'gnu_printf' format attribute [-Wsuggest-attribute=format]
    3836 |                 trace_seq_vprintf(&iter->seq, iter->fmt, ap);
         |                 ^~~~~~~~~~~~~~~~~
   kernel/trace/trace.c:3891:17: warning: function 'trace_check_vprintf' might be a candidate for 'gnu_printf' format attribute [-Wsuggest-attribute=format]
    3891 |                 trace_seq_vprintf(&iter->seq, p, ap);
         |                 ^~~~~~~~~~~~~~~~~
   In file included from kernel/trace/trace.c:8620:
   kernel/trace/trace_selftest.c: In function 'trace_selftest_function_regs':
   kernel/trace/trace_selftest.c:571:13: warning: variable 'len' set but not used [-Wunused-but-set-variable]
     571 |         int len;
         |             ^~~
--
   In file included from include/linux/smp.h:13,
                    from include/linux/lockdep.h:14,
                    from include/linux/rcupdate.h:29,
                    from include/linux/rculist.h:11,
                    from include/linux/pid.h:5,
                    from include/linux/sched.h:14,
                    from include/linux/blkdev.h:5,
                    from kernel/trace/blktrace.c:10:
>> include/linux/cpumask.h:95:42: error: enumerator value for 'FIX_KMAP_END' is not an integer constant
      95 | #define cpu_possible_mask ((const struct cpumask *)&__cpu_possible_mask)
         |                                          ^~~~~~~
   include/linux/cpumask.h:889:48: note: in expansion of macro 'cpu_possible_mask'
     889 | #define num_possible_cpus()     cpumask_weight(cpu_possible_mask)
         |                                                ^~~~~~~~~~~~~~~~~
   arch/microblaze/include/asm/fixmap.h:50:55: note: in expansion of macro 'num_possible_cpus'
      50 |         FIX_KMAP_END = FIX_KMAP_BEGIN + (KM_MAX_IDX * num_possible_cpus()) - 1,
         |                                                       ^~~~~~~~~~~~~~~~~
   kernel/trace/blktrace.c: In function '__trace_note_message':
   kernel/trace/blktrace.c:148:63: warning: parameter 'blkcg' set but not used [-Wunused-but-set-parameter]
     148 | void __trace_note_message(struct blk_trace *bt, struct blkcg *blkcg,
         |                                                 ~~~~~~~~~~~~~~^~~~~
--
   In file included from include/linux/smp.h:13,
                    from include/linux/lockdep.h:14,
                    from include/linux/spinlock.h:63,
                    from include/linux/ipc.h:5,
                    from include/uapi/linux/sem.h:5,
                    from include/linux/sem.h:5,
                    from include/linux/compat.h:14,
                    from include/linux/filter.h:10,
                    from kernel/bpf/core.c:21:
>> include/linux/cpumask.h:95:42: error: enumerator value for 'FIX_KMAP_END' is not an integer constant
      95 | #define cpu_possible_mask ((const struct cpumask *)&__cpu_possible_mask)
         |                                          ^~~~~~~
   include/linux/cpumask.h:889:48: note: in expansion of macro 'cpu_possible_mask'
     889 | #define num_possible_cpus()     cpumask_weight(cpu_possible_mask)
         |                                                ^~~~~~~~~~~~~~~~~
   arch/microblaze/include/asm/fixmap.h:50:55: note: in expansion of macro 'num_possible_cpus'
      50 |         FIX_KMAP_END = FIX_KMAP_BEGIN + (KM_MAX_IDX * num_possible_cpus()) - 1,
         |                                                       ^~~~~~~~~~~~~~~~~
   kernel/bpf/core.c:1360:12: warning: no previous prototype for 'bpf_probe_read_kernel' [-Wmissing-prototypes]
    1360 | u64 __weak bpf_probe_read_kernel(void *dst, u32 size, const void *unsafe_ptr)
         |            ^~~~~~~~~~~~~~~~~~~~~
--
   In file included from include/linux/smp.h:13,
                    from include/linux/lockdep.h:14,
                    from include/linux/spinlock.h:63,
                    from include/linux/mmzone.h:8,
                    from include/linux/gfp.h:6,
                    from include/linux/slab.h:15,
                    from kernel/bpf/verifier.c:9:
>> include/linux/cpumask.h:95:42: error: enumerator value for 'FIX_KMAP_END' is not an integer constant
      95 | #define cpu_possible_mask ((const struct cpumask *)&__cpu_possible_mask)
         |                                          ^~~~~~~
   include/linux/cpumask.h:889:48: note: in expansion of macro 'cpu_possible_mask'
     889 | #define num_possible_cpus()     cpumask_weight(cpu_possible_mask)
         |                                                ^~~~~~~~~~~~~~~~~
   arch/microblaze/include/asm/fixmap.h:50:55: note: in expansion of macro 'num_possible_cpus'
      50 |         FIX_KMAP_END = FIX_KMAP_BEGIN + (KM_MAX_IDX * num_possible_cpus()) - 1,
         |                                                       ^~~~~~~~~~~~~~~~~
   In file included from include/linux/bpf_verifier.h:9,
                    from kernel/bpf/verifier.c:12:
   kernel/bpf/verifier.c: In function 'jit_subprogs':
   include/linux/filter.h:366:18: warning: cast between incompatible function types from 'unsigned int (*)(const void *, const struct bpf_insn *)' to 'u64 (*)(u64,  u64,  u64,  u64,  u64)' {aka 'long long unsigned int (*)(long long unsigned int,  long long unsigned int,  long long unsigned int,  long long unsigned int,  long long unsigned int)'} [-Wcast-function-type]
     366 |                 ((u64 (*)(u64, u64, u64, u64, u64))(x))
         |                  ^
   kernel/bpf/verifier.c:12472:37: note: in expansion of macro 'BPF_CAST_CALL'
   12472 |                         insn->imm = BPF_CAST_CALL(func[subprog]->bpf_func) -
         |                                     ^~~~~~~~~~~~~
   kernel/bpf/verifier.c: In function 'do_misc_fixups':
   include/linux/filter.h:366:18: warning: cast between incompatible function types from 'void * (*)(struct bpf_map *, void *)' to 'u64 (*)(u64,  u64,  u64,  u64,  u64)' {aka 'long long unsigned int (*)(long long unsigned int,  long long unsigned int,  long long unsigned int,  long long unsigned int,  long long unsigned int)'} [-Wcast-function-type]
     366 |                 ((u64 (*)(u64, u64, u64, u64, u64))(x))
         |                  ^
   kernel/bpf/verifier.c:12953:45: note: in expansion of macro 'BPF_CAST_CALL'
   12953 |                                 insn->imm = BPF_CAST_CALL(ops->map_lookup_elem) -
         |                                             ^~~~~~~~~~~~~
   include/linux/filter.h:366:18: warning: cast between incompatible function types from 'int (*)(struct bpf_map *, void *, void *, u64)' {aka 'int (*)(struct bpf_map *, void *, void *, long long unsigned int)'} to 'u64 (*)(u64,  u64,  u64,  u64,  u64)' {aka 'long long unsigned int (*)(long long unsigned int,  long long unsigned int,  long long unsigned int,  long long unsigned int,  long long unsigned int)'} [-Wcast-function-type]
     366 |                 ((u64 (*)(u64, u64, u64, u64, u64))(x))
         |                  ^
   kernel/bpf/verifier.c:12957:45: note: in expansion of macro 'BPF_CAST_CALL'
   12957 |                                 insn->imm = BPF_CAST_CALL(ops->map_update_elem) -
         |                                             ^~~~~~~~~~~~~
   include/linux/filter.h:366:18: warning: cast between incompatible function types from 'int (*)(struct bpf_map *, void *)' to 'u64 (*)(u64,  u64,  u64,  u64,  u64)' {aka 'long long unsigned int (*)(long long unsigned int,  long long unsigned int,  long long unsigned int,  long long unsigned int,  long long unsigned int)'} [-Wcast-function-type]
     366 |                 ((u64 (*)(u64, u64, u64, u64, u64))(x))
         |                  ^
   kernel/bpf/verifier.c:12961:45: note: in expansion of macro 'BPF_CAST_CALL'
   12961 |                                 insn->imm = BPF_CAST_CALL(ops->map_delete_elem) -
         |                                             ^~~~~~~~~~~~~
   include/linux/filter.h:366:18: warning: cast between incompatible function types from 'int (*)(struct bpf_map *, void *, u64)' {aka 'int (*)(struct bpf_map *, void *, long long unsigned int)'} to 'u64 (*)(u64,  u64,  u64,  u64,  u64)' {aka 'long long unsigned int (*)(long long unsigned int,  long long unsigned int,  long long unsigned int,  long long unsigned int,  long long unsigned int)'} [-Wcast-function-type]
     366 |                 ((u64 (*)(u64, u64, u64, u64, u64))(x))
         |                  ^
   kernel/bpf/verifier.c:12965:45: note: in expansion of macro 'BPF_CAST_CALL'
   12965 |                                 insn->imm = BPF_CAST_CALL(ops->map_push_elem) -
         |                                             ^~~~~~~~~~~~~
   include/linux/filter.h:366:18: warning: cast between incompatible function types from 'int (*)(struct bpf_map *, void *)' to 'u64 (*)(u64,  u64,  u64,  u64,  u64)' {aka 'long long unsigned int (*)(long long unsigned int,  long long unsigned int,  long long unsigned int,  long long unsigned int,  long long unsigned int)'} [-Wcast-function-type]
     366 |                 ((u64 (*)(u64, u64, u64, u64, u64))(x))
         |                  ^
   kernel/bpf/verifier.c:12969:45: note: in expansion of macro 'BPF_CAST_CALL'
   12969 |                                 insn->imm = BPF_CAST_CALL(ops->map_pop_elem) -
         |                                             ^~~~~~~~~~~~~
   include/linux/filter.h:366:18: warning: cast between incompatible function types from 'int (*)(struct bpf_map *, void *)' to 'u64 (*)(u64,  u64,  u64,  u64,  u64)' {aka 'long long unsigned int (*)(long long unsigned int,  long long unsigned int,  long long unsigned int,  long long unsigned int,  long long unsigned int)'} [-Wcast-function-type]
     366 |                 ((u64 (*)(u64, u64, u64, u64, u64))(x))
         |                  ^
   kernel/bpf/verifier.c:12973:45: note: in expansion of macro 'BPF_CAST_CALL'
   12973 |                                 insn->imm = BPF_CAST_CALL(ops->map_peek_elem) -
         |                                             ^~~~~~~~~~~~~
   include/linux/filter.h:366:18: warning: cast between incompatible function types from 'int (*)(struct bpf_map *, u32,  u64)' {aka 'int (*)(struct bpf_map *, unsigned int,  long long unsigned int)'} to 'u64 (*)(u64,  u64,  u64,  u64,  u64)' {aka 'long long unsigned int (*)(long long unsigned int,  long long unsigned int,  long long unsigned int,  long long unsigned int,  long long unsigned int)'} [-Wcast-function-type]
     366 |                 ((u64 (*)(u64, u64, u64, u64, u64))(x))
         |                  ^
   kernel/bpf/verifier.c:12977:45: note: in expansion of macro 'BPF_CAST_CALL'
   12977 |                                 insn->imm = BPF_CAST_CALL(ops->map_redirect) -
         |                                             ^~~~~~~~~~~~~
--
   In file included from include/linux/smp.h:13,
                    from include/linux/lockdep.h:14,
                    from include/linux/spinlock.h:63,
                    from include/linux/debugobjects.h:6,
                    from include/linux/timer.h:8,
                    from include/linux/workqueue.h:9,
                    from include/linux/bpf.h:9,
                    from kernel/bpf/hashtab.c:5:
>> include/linux/cpumask.h:95:42: error: enumerator value for 'FIX_KMAP_END' is not an integer constant
      95 | #define cpu_possible_mask ((const struct cpumask *)&__cpu_possible_mask)
         |                                          ^~~~~~~
   include/linux/cpumask.h:889:48: note: in expansion of macro 'cpu_possible_mask'
     889 | #define num_possible_cpus()     cpumask_weight(cpu_possible_mask)
         |                                                ^~~~~~~~~~~~~~~~~
   arch/microblaze/include/asm/fixmap.h:50:55: note: in expansion of macro 'num_possible_cpus'
      50 |         FIX_KMAP_END = FIX_KMAP_BEGIN + (KM_MAX_IDX * num_possible_cpus()) - 1,
         |                                                       ^~~~~~~~~~~~~~~~~
   In file included from kernel/bpf/hashtab.c:8:
   kernel/bpf/hashtab.c: In function 'htab_map_gen_lookup':
   include/linux/filter.h:366:18: warning: cast between incompatible function types from 'void * (*)(struct bpf_map *, void *)' to 'u64 (*)(u64,  u64,  u64,  u64,  u64)' {aka 'long long unsigned int (*)(long long unsigned int,  long long unsigned int,  long long unsigned int,  long long unsigned int,  long long unsigned int)'} [-Wcast-function-type]
     366 |                 ((u64 (*)(u64, u64, u64, u64, u64))(x))
         |                  ^
   include/linux/filter.h:374:28: note: in definition of macro 'BPF_EMIT_CALL'
     374 |                 .imm   = ((FUNC) - __bpf_call_base) })
         |                            ^~~~
   kernel/bpf/hashtab.c:671:33: note: in expansion of macro 'BPF_CAST_CALL'
     671 |         *insn++ = BPF_EMIT_CALL(BPF_CAST_CALL(__htab_map_lookup_elem));
         |                                 ^~~~~~~~~~~~~
   kernel/bpf/hashtab.c: In function 'htab_lru_map_gen_lookup':
   include/linux/filter.h:366:18: warning: cast between incompatible function types from 'void * (*)(struct bpf_map *, void *)' to 'u64 (*)(u64,  u64,  u64,  u64,  u64)' {aka 'long long unsigned int (*)(long long unsigned int,  long long unsigned int,  long long unsigned int,  long long unsigned int,  long long unsigned int)'} [-Wcast-function-type]
     366 |                 ((u64 (*)(u64, u64, u64, u64, u64))(x))
         |                  ^
   include/linux/filter.h:374:28: note: in definition of macro 'BPF_EMIT_CALL'
     374 |                 .imm   = ((FUNC) - __bpf_call_base) })
         |                            ^~~~
   kernel/bpf/hashtab.c:712:33: note: in expansion of macro 'BPF_CAST_CALL'
     712 |         *insn++ = BPF_EMIT_CALL(BPF_CAST_CALL(__htab_map_lookup_elem));
         |                                 ^~~~~~~~~~~~~
   kernel/bpf/hashtab.c: In function 'htab_of_map_gen_lookup':
   include/linux/filter.h:366:18: warning: cast between incompatible function types from 'void * (*)(struct bpf_map *, void *)' to 'u64 (*)(u64,  u64,  u64,  u64,  u64)' {aka 'long long unsigned int (*)(long long unsigned int,  long long unsigned int,  long long unsigned int,  long long unsigned int,  long long unsigned int)'} [-Wcast-function-type]
     366 |                 ((u64 (*)(u64, u64, u64, u64, u64))(x))
         |                  ^
   include/linux/filter.h:374:28: note: in definition of macro 'BPF_EMIT_CALL'
     374 |                 .imm   = ((FUNC) - __bpf_call_base) })
         |                            ^~~~
   kernel/bpf/hashtab.c:2400:33: note: in expansion of macro 'BPF_CAST_CALL'
    2400 |         *insn++ = BPF_EMIT_CALL(BPF_CAST_CALL(__htab_map_lookup_elem));
         |                                 ^~~~~~~~~~~~~
--
   In file included from include/linux/smp.h:13,
                    from include/linux/lockdep.h:14,
                    from include/linux/rcupdate.h:29,
                    from include/linux/rculist.h:11,
                    from include/linux/pid.h:5,
                    from include/linux/sched.h:14,
                    from include/linux/ptrace.h:6,
                    from include/uapi/asm-generic/bpf_perf_event.h:4,
                    from ./arch/microblaze/include/generated/uapi/asm/bpf_perf_event.h:1,
                    from include/uapi/linux/bpf_perf_event.h:11,
                    from kernel/bpf/btf.c:6:
>> include/linux/cpumask.h:95:42: error: enumerator value for 'FIX_KMAP_END' is not an integer constant
      95 | #define cpu_possible_mask ((const struct cpumask *)&__cpu_possible_mask)
         |                                          ^~~~~~~
   include/linux/cpumask.h:889:48: note: in expansion of macro 'cpu_possible_mask'
     889 | #define num_possible_cpus()     cpumask_weight(cpu_possible_mask)
         |                                                ^~~~~~~~~~~~~~~~~
   arch/microblaze/include/asm/fixmap.h:50:55: note: in expansion of macro 'num_possible_cpus'
      50 |         FIX_KMAP_END = FIX_KMAP_BEGIN + (KM_MAX_IDX * num_possible_cpus()) - 1,
         |                                                       ^~~~~~~~~~~~~~~~~
   kernel/bpf/btf.c: In function 'btf_seq_show':
   kernel/bpf/btf.c:5748:29: warning: function 'btf_seq_show' might be a candidate for 'gnu_printf' format attribute [-Wsuggest-attribute=format]
    5748 |         seq_vprintf((struct seq_file *)show->target, fmt, args);
         |                             ^~~~~~~~
   kernel/bpf/btf.c: In function 'btf_snprintf_show':
   kernel/bpf/btf.c:5785:9: warning: function 'btf_snprintf_show' might be a candidate for 'gnu_printf' format attribute [-Wsuggest-attribute=format]
    5785 |         len = vsnprintf(show->target, ssnprintf->len_left, fmt, args);
         |         ^~~
..


vim +/FIX_KMAP_END +95 include/linux/cpumask.h

^1da177e4c3f41 Linus Torvalds   2005-04-16   49  
^1da177e4c3f41 Linus Torvalds   2005-04-16   50  /*
^1da177e4c3f41 Linus Torvalds   2005-04-16   51   * The following particular system cpumasks and operations manage
b3199c025d1646 Rusty Russell    2008-12-30   52   * possible, present, active and online cpus.
^1da177e4c3f41 Linus Torvalds   2005-04-16   53   *
b3199c025d1646 Rusty Russell    2008-12-30   54   *     cpu_possible_mask- has bit 'cpu' set iff cpu is populatable
b3199c025d1646 Rusty Russell    2008-12-30   55   *     cpu_present_mask - has bit 'cpu' set iff cpu is populated
b3199c025d1646 Rusty Russell    2008-12-30   56   *     cpu_online_mask  - has bit 'cpu' set iff cpu available to scheduler
b3199c025d1646 Rusty Russell    2008-12-30   57   *     cpu_active_mask  - has bit 'cpu' set iff cpu available to migration
^1da177e4c3f41 Linus Torvalds   2005-04-16   58   *
b3199c025d1646 Rusty Russell    2008-12-30   59   *  If !CONFIG_HOTPLUG_CPU, present == possible, and active == online.
^1da177e4c3f41 Linus Torvalds   2005-04-16   60   *
b3199c025d1646 Rusty Russell    2008-12-30   61   *  The cpu_possible_mask is fixed at boot time, as the set of CPU id's
b3199c025d1646 Rusty Russell    2008-12-30   62   *  that it is possible might ever be plugged in at anytime during the
b3199c025d1646 Rusty Russell    2008-12-30   63   *  life of that system boot.  The cpu_present_mask is dynamic(*),
b3199c025d1646 Rusty Russell    2008-12-30   64   *  representing which CPUs are currently plugged in.  And
b3199c025d1646 Rusty Russell    2008-12-30   65   *  cpu_online_mask is the dynamic subset of cpu_present_mask,
b3199c025d1646 Rusty Russell    2008-12-30   66   *  indicating those CPUs available for scheduling.
b3199c025d1646 Rusty Russell    2008-12-30   67   *
b3199c025d1646 Rusty Russell    2008-12-30   68   *  If HOTPLUG is enabled, then cpu_possible_mask is forced to have
^1da177e4c3f41 Linus Torvalds   2005-04-16   69   *  all NR_CPUS bits set, otherwise it is just the set of CPUs that
^1da177e4c3f41 Linus Torvalds   2005-04-16   70   *  ACPI reports present at boot.
^1da177e4c3f41 Linus Torvalds   2005-04-16   71   *
b3199c025d1646 Rusty Russell    2008-12-30   72   *  If HOTPLUG is enabled, then cpu_present_mask varies dynamically,
^1da177e4c3f41 Linus Torvalds   2005-04-16   73   *  depending on what ACPI reports as currently plugged in, otherwise
b3199c025d1646 Rusty Russell    2008-12-30   74   *  cpu_present_mask is just a copy of cpu_possible_mask.
^1da177e4c3f41 Linus Torvalds   2005-04-16   75   *
b3199c025d1646 Rusty Russell    2008-12-30   76   *  (*) Well, cpu_present_mask is dynamic in the hotplug case.  If not
b3199c025d1646 Rusty Russell    2008-12-30   77   *      hotplug, it's a copy of cpu_possible_mask, hence fixed at boot.
^1da177e4c3f41 Linus Torvalds   2005-04-16   78   *
^1da177e4c3f41 Linus Torvalds   2005-04-16   79   * Subtleties:
^1da177e4c3f41 Linus Torvalds   2005-04-16   80   * 1) UP arch's (NR_CPUS == 1, CONFIG_SMP not defined) hardcode
^1da177e4c3f41 Linus Torvalds   2005-04-16   81   *    assumption that their single CPU is online.  The UP
b3199c025d1646 Rusty Russell    2008-12-30   82   *    cpu_{online,possible,present}_masks are placebos.  Changing them
^1da177e4c3f41 Linus Torvalds   2005-04-16   83   *    will have no useful affect on the following num_*_cpus()
^1da177e4c3f41 Linus Torvalds   2005-04-16   84   *    and cpu_*() macros in the UP case.  This ugliness is a UP
^1da177e4c3f41 Linus Torvalds   2005-04-16   85   *    optimization - don't waste any instructions or memory references
^1da177e4c3f41 Linus Torvalds   2005-04-16   86   *    asking if you're online or how many CPUs there are if there is
^1da177e4c3f41 Linus Torvalds   2005-04-16   87   *    only one CPU.
^1da177e4c3f41 Linus Torvalds   2005-04-16   88   */
^1da177e4c3f41 Linus Torvalds   2005-04-16   89  
4b804c85dc37db Rasmus Villemoes 2016-01-20   90  extern struct cpumask __cpu_possible_mask;
4b804c85dc37db Rasmus Villemoes 2016-01-20   91  extern struct cpumask __cpu_online_mask;
4b804c85dc37db Rasmus Villemoes 2016-01-20   92  extern struct cpumask __cpu_present_mask;
4b804c85dc37db Rasmus Villemoes 2016-01-20   93  extern struct cpumask __cpu_active_mask;
e40f74c535b8a0 Peter Zijlstra   2021-01-19   94  extern struct cpumask __cpu_dying_mask;
5aec01b834fd6f Rasmus Villemoes 2016-01-20  @95  #define cpu_possible_mask ((const struct cpumask *)&__cpu_possible_mask)
5aec01b834fd6f Rasmus Villemoes 2016-01-20   96  #define cpu_online_mask   ((const struct cpumask *)&__cpu_online_mask)
5aec01b834fd6f Rasmus Villemoes 2016-01-20   97  #define cpu_present_mask  ((const struct cpumask *)&__cpu_present_mask)
5aec01b834fd6f Rasmus Villemoes 2016-01-20   98  #define cpu_active_mask   ((const struct cpumask *)&__cpu_active_mask)
e40f74c535b8a0 Peter Zijlstra   2021-01-19   99  #define cpu_dying_mask    ((const struct cpumask *)&__cpu_dying_mask)
b3199c025d1646 Rusty Russell    2008-12-30  100  

:::::: The code at line 95 was first introduced by commit
:::::: 5aec01b834fd6f8ca49d1aeede665b950d0c148e kernel/cpu.c: eliminate cpu_*_mask

:::::: TO: Rasmus Villemoes <linux at rasmusvillemoes.dk>
:::::: CC: Linus Torvalds <torvalds at linux-foundation.org>

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



More information about the linux-arm-kernel mailing list