tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: b326272010b6656210193d7ab93fa184087e8ee1 commit: 0c26159352ba1cdc5a8c8d74131cc19cdfdf9371 nfp: bpf: xdp_adjust_tail support date: 3 weeks ago config: i386-randconfig-b0-08260429 (attached as .config) compiler: gcc-4.9 (Debian 4.9.4-2) 4.9.4 reproduce: git checkout 0c26159352ba1cdc5a8c8d74131cc19cdfdf9371 # save the attached .config to linux build tree make ARCH=i386 All error/warnings (new ones prefixed by >>): Cyclomatic Complexity 1 drivers/net/ethernet/netronome/nfp/bpf/jit.c:shr_imm64 Cyclomatic Complexity 4 drivers/net/ethernet/netronome/nfp/bpf/jit.c:__shl_imm64 Cyclomatic Complexity 1 drivers/net/ethernet/netronome/nfp/bpf/jit.c:shl_imm64 Cyclomatic Complexity 2 drivers/net/ethernet/netronome/nfp/bpf/jit.c:shl_imm Cyclomatic Complexity 1 drivers/net/ethernet/netronome/nfp/bpf/jit.c:nfp_outro_tc_da Cyclomatic Complexity 1 drivers/net/ethernet/netronome/nfp/bpf/jit.c:nfp_outro_xdp Cyclomatic Complexity 4 drivers/net/ethernet/netronome/nfp/bpf/jit.c:nfp_outro Cyclomatic Complexity 50 drivers/net/ethernet/netronome/nfp/bpf/jit.c:__emit_br_bit Cyclomatic Complexity 9 drivers/net/ethernet/netronome/nfp/bpf/jit.c:emit_br_bit_relo Cyclomatic Complexity 1 drivers/net/ethernet/netronome/nfp/bpf/jit.c:emit_br_bset Cyclomatic Complexity 6 drivers/net/ethernet/netronome/nfp/bpf/jit.c:ashr_reg64 Cyclomatic Complexity 6 drivers/net/ethernet/netronome/nfp/bpf/jit.c:shr_reg64 Cyclomatic Complexity 6 drivers/net/ethernet/netronome/nfp/bpf/jit.c:shl_reg64 Cyclomatic Complexity 7 drivers/net/ethernet/netronome/nfp/bpf/jit.c:nfp_jmp_code_get Cyclomatic Complexity 3 drivers/net/ethernet/netronome/nfp/bpf/jit.c:cmp_reg Cyclomatic Complexity 6 drivers/net/ethernet/netronome/nfp/bpf/jit.c:cmp_imm Cyclomatic Complexity 23 drivers/net/ethernet/netronome/nfp/bpf/../nfp_asm.h:__enc_swreg_lm Cyclomatic Complexity 6 drivers/net/ethernet/netronome/nfp/bpf/jit.c:adjust_head Cyclomatic Complexity 22 drivers/net/ethernet/netronome/nfp/bpf/jit.c:wrp_lmem_store Cyclomatic Complexity 5 drivers/net/ethernet/netronome/nfp/bpf/jit.c:mem_ldx_xdp Cyclomatic Complexity 7 drivers/net/ethernet/netronome/nfp/bpf/jit.c:mem_ldx_skb Cyclomatic Complexity 20 drivers/net/ethernet/netronome/nfp/bpf/jit.c:wrp_lmem_load Cyclomatic Complexity 2 drivers/net/ethernet/netronome/nfp/bpf/jit.c:nfp_queue_select Cyclomatic Complexity 3 drivers/net/ethernet/netronome/nfp/bpf/jit.c:mem_stx_xdp Cyclomatic Complexity 5 drivers/net/ethernet/netronome/nfp/bpf/jit.c:data_ld Cyclomatic Complexity 1 drivers/net/ethernet/netronome/nfp/bpf/jit.c:construct_data_ind_ld Cyclomatic Complexity 1 drivers/net/ethernet/netronome/nfp/bpf/jit.c:data_ind_ld1 Cyclomatic Complexity 1 drivers/net/ethernet/netronome/nfp/bpf/jit.c:data_ind_ld2 Cyclomatic Complexity 1 drivers/net/ethernet/netronome/nfp/bpf/jit.c:data_ind_ld4 Cyclomatic Complexity 1 drivers/net/ethernet/netronome/nfp/bpf/jit.c:nfp_intro Cyclomatic Complexity 4 drivers/net/ethernet/netronome/nfp/bpf/jit.c:adjust_tail Cyclomatic Complexity 9 drivers/net/ethernet/netronome/nfp/bpf/jit.c:wrp_immed_relo Cyclomatic Complexity 2 drivers/net/ethernet/netronome/nfp/bpf/jit.c:nfp_perf_event_output Cyclomatic Complexity 43 drivers/net/ethernet/netronome/nfp/bpf/jit.c:__emit_lcsr Cyclomatic Complexity 3 drivers/net/ethernet/netronome/nfp/bpf/jit.c:emit_csr_wr Cyclomatic Complexity 7 drivers/net/ethernet/netronome/nfp/bpf/jit.c:map_call_stack_common Cyclomatic Complexity 11 drivers/net/ethernet/netronome/nfp/bpf/jit.c:mem_op_stack Cyclomatic Complexity 1 drivers/net/ethernet/netronome/nfp/bpf/jit.c:mem_stx_stack Cyclomatic Complexity 1 drivers/net/ethernet/netronome/nfp/bpf/jit.c:mem_ldx_stack Cyclomatic Complexity 1 drivers/net/ethernet/netronome/nfp/bpf/jit.c:__emit_csr_rd Cyclomatic Complexity 1 drivers/net/ethernet/netronome/nfp/bpf/jit.c:nfp_get_prandom_u32 Cyclomatic Complexity 9 drivers/net/ethernet/netronome/nfp/bpf/jit.c:call Cyclomatic Complexity 9 drivers/net/ethernet/netronome/nfp/bpf/jit.c:re_load_imm_any Cyclomatic Complexity 1 drivers/net/ethernet/netronome/nfp/bpf/jit.c:mem_stx_data Cyclomatic Complexity 3 drivers/net/ethernet/netronome/nfp/bpf/jit.c:mem_stx Cyclomatic Complexity 1 drivers/net/ethernet/netronome/nfp/bpf/jit.c:mem_stx8 Cyclomatic Complexity 1 drivers/net/ethernet/netronome/nfp/bpf/jit.c:mem_stx1 Cyclomatic Complexity 1 drivers/net/ethernet/netronome/nfp/bpf/jit.c:mem_stx2 Cyclomatic Complexity 3 drivers/net/ethernet/netronome/nfp/bpf/jit.c:mem_stx4 Cyclomatic Complexity 1 drivers/net/ethernet/netronome/nfp/bpf/jit.c:mem_st_data Cyclomatic Complexity 2 drivers/net/ethernet/netronome/nfp/bpf/jit.c:mem_st Cyclomatic Complexity 1 drivers/net/ethernet/netronome/nfp/bpf/jit.c:mem_st8 Cyclomatic Complexity 1 drivers/net/ethernet/netronome/nfp/bpf/jit.c:mem_st1 Cyclomatic Complexity 1 drivers/net/ethernet/netronome/nfp/bpf/jit.c:mem_st2 Cyclomatic Complexity 1 drivers/net/ethernet/netronome/nfp/bpf/jit.c:mem_st4 Cyclomatic Complexity 1 drivers/net/ethernet/netronome/nfp/bpf/jit.c:mem_ldx_data Cyclomatic Complexity 1 drivers/net/ethernet/netronome/nfp/bpf/jit.c:mem_ldx_emem Cyclomatic Complexity 1 drivers/net/ethernet/netronome/nfp/bpf/jit.c:construct_data_ld Cyclomatic Complexity 1 drivers/net/ethernet/netronome/nfp/bpf/jit.c:data_ld1 Cyclomatic Complexity 1 drivers/net/ethernet/netronome/nfp/bpf/jit.c:data_ld2 Cyclomatic Complexity 1 drivers/net/ethernet/netronome/nfp/bpf/jit.c:data_ld4 Cyclomatic Complexity 47 drivers/net/ethernet/netronome/nfp/bpf/jit.c:nfp_cpp_memcpy Cyclomatic Complexity 9 drivers/net/ethernet/netronome/nfp/bpf/jit.c:mem_ldx_data_init_pktcache Cyclomatic Complexity 9 drivers/net/ethernet/netronome/nfp/bpf/jit.c:mem_ldx Cyclomatic Complexity 1 drivers/net/ethernet/netronome/nfp/bpf/jit.c:mem_ldx8 Cyclomatic Complexity 1 drivers/net/ethernet/netronome/nfp/bpf/jit.c:mem_ldx1 Cyclomatic Complexity 1 drivers/net/ethernet/netronome/nfp/bpf/jit.c:mem_ldx2 Cyclomatic Complexity 1 drivers/net/ethernet/netronome/nfp/bpf/jit.c:mem_ldx4 Cyclomatic Complexity 64 drivers/net/ethernet/netronome/nfp/bpf/jit.c:__emit_mul Cyclomatic Complexity 4 drivers/net/ethernet/netronome/nfp/bpf/jit.c:emit_mul Cyclomatic Complexity 2 drivers/net/ethernet/netronome/nfp/bpf/jit.c:wrp_mul_u32 Cyclomatic Complexity 8 drivers/net/ethernet/netronome/nfp/bpf/jit.c:wrp_div_imm Cyclomatic Complexity 1 drivers/net/ethernet/netronome/nfp/bpf/jit.c:div_reg64 Cyclomatic Complexity 1 drivers/net/ethernet/netronome/nfp/bpf/jit.c:div_reg Cyclomatic Complexity 1 drivers/net/ethernet/netronome/nfp/bpf/jit.c:div_imm64 Cyclomatic Complexity 1 drivers/net/ethernet/netronome/nfp/bpf/jit.c:div_imm Cyclomatic Complexity 1 drivers/net/ethernet/netronome/nfp/bpf/jit.c:wrp_mul_u16 Cyclomatic Complexity 3 drivers/net/ethernet/netronome/nfp/bpf/jit.c:wrp_mul Cyclomatic Complexity 1 drivers/net/ethernet/netronome/nfp/bpf/jit.c:mul_reg64 Cyclomatic Complexity 1 drivers/net/ethernet/netronome/nfp/bpf/jit.c:mul_reg Cyclomatic Complexity 1 drivers/net/ethernet/netronome/nfp/bpf/jit.c:mul_imm64 Cyclomatic Complexity 1 drivers/net/ethernet/netronome/nfp/bpf/jit.c:mul_imm Cyclomatic Complexity 3 drivers/net/ethernet/netronome/nfp/bpf/jit.c:imm_ld8_part2 Cyclomatic Complexity 20 drivers/net/ethernet/netronome/nfp/bpf/jit.c:nfp_fixup_branches Cyclomatic Complexity 15 drivers/net/ethernet/netronome/nfp/bpf/jit.c:nfp_translate Cyclomatic Complexity 1 include/linux/mm.h:kvmalloc Cyclomatic Complexity 7 include/linux/mm.h:kvmalloc_array Cyclomatic Complexity 2 drivers/net/ethernet/netronome/nfp/bpf/jit.c:nfp_bpf_prog_trim Cyclomatic Complexity 3 drivers/net/ethernet/netronome/nfp/bpf/jit.c:nfp_bpf_ustore_calc Cyclomatic Complexity 4 drivers/net/ethernet/netronome/nfp/bpf/jit.c:nfp_bpf_jit Cyclomatic Complexity 7 drivers/net/ethernet/netronome/nfp/bpf/jit.c:nfp_bpf_jit_prepare Cyclomatic Complexity 1 drivers/net/ethernet/netronome/nfp/bpf/jit.c:nfp_bpf_supported_opcode Cyclomatic Complexity 20 drivers/net/ethernet/netronome/nfp/bpf/jit.c:nfp_bpf_relo_for_vnic Cyclomatic Complexity 1 drivers/net/ethernet/netronome/nfp/bpf/jit.c:_GLOBAL__sub_I_65535_0_nfp_bpf_jit In file included from include/asm-generic/bug.h:5:0, from arch/x86/include/asm/bug.h:83, from include/linux/bug.h:5, from drivers/net/ethernet/netronome/nfp/bpf/jit.c:36: In function 'adjust_tail.isra.11', inlined from 'call' at drivers/net/ethernet/netronome/nfp/bpf/jit.c:3090:3: >> include/linux/compiler.h:339:38: error: call to '__compiletime_assert_1650' declared with attribute error: BUILD_BUG_ON failed: plen_reg(nfp_prog) != reg_b(STATIC_REG_PKT_LEN) _compiletime_assert(condition, msg, __compiletime_assert_, __LINE__) ^ include/linux/compiler.h:319:4: note: in definition of macro '__compiletime_assert' prefix ## suffix(); \ ^ include/linux/compiler.h:339:2: note: in expansion of macro '_compiletime_assert' _compiletime_assert(condition, msg, __compiletime_assert_, __LINE__) ^ include/linux/build_bug.h:45:37: note: in expansion of macro 'compiletime_assert' #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg) ^ include/linux/build_bug.h:69:2: note: in expansion of macro 'BUILD_BUG_ON_MSG' BUILD_BUG_ON_MSG(condition, "BUILD_BUG_ON failed: " #condition) ^ >> drivers/net/ethernet/netronome/nfp/bpf/jit.c:1650:2: note: in expansion of macro 'BUILD_BUG_ON' BUILD_BUG_ON(plen_reg(nfp_prog) != reg_b(STATIC_REG_PKT_LEN)); ^ vim +/__compiletime_assert_1650 +339 include/linux/compiler.h 9a8ab1c3 Daniel Santos 2013-02-21 325 9a8ab1c3 Daniel Santos 2013-02-21 326 #define _compiletime_assert(condition, msg, prefix, suffix) \ 9a8ab1c3 Daniel Santos 2013-02-21 327 __compiletime_assert(condition, msg, prefix, suffix) 9a8ab1c3 Daniel Santos 2013-02-21 328 9a8ab1c3 Daniel Santos 2013-02-21 329 /** 9a8ab1c3 Daniel Santos 2013-02-21 330 * compiletime_assert - break build and emit msg if condition is false 9a8ab1c3 Daniel Santos 2013-02-21 331 * @condition: a compile-time constant condition to check 9a8ab1c3 Daniel Santos 2013-02-21 332 * @msg: a message to emit if condition is false 9a8ab1c3 Daniel Santos 2013-02-21 333 * 9a8ab1c3 Daniel Santos 2013-02-21 334 * In tradition of POSIX assert, this macro will break the build if the 9a8ab1c3 Daniel Santos 2013-02-21 335 * supplied condition is *false*, emitting the supplied error message if the 9a8ab1c3 Daniel Santos 2013-02-21 336 * compiler has support to do so. 9a8ab1c3 Daniel Santos 2013-02-21 337 */ 9a8ab1c3 Daniel Santos 2013-02-21 338 #define compiletime_assert(condition, msg) \ 9a8ab1c3 Daniel Santos 2013-02-21 @339 _compiletime_assert(condition, msg, __compiletime_assert_, __LINE__) 9a8ab1c3 Daniel Santos 2013-02-21 340 :::::: The code at line 339 was first introduced by commit :::::: 9a8ab1c39970a4938a72d94e6fd13be88a797590 bug.h, compiler.h: introduce compiletime_assert & BUILD_BUG_ON_MSG :::::: TO: Daniel Santos :::::: CC: Linus Torvalds --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation