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)

From: kbuild test robot
Date: Sat Aug 25 2018 - 18:58:45 EST


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 <daniel.santos@xxxxxxxxx>
:::::: CC: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation

Attachment: .config.gz
Description: application/gzip