[linux-stable-rc:linux-4.19.y 2415/4776] arch/riscv/include/asm/processor.h:82:2: error: implicit declaration of function 'barrier'
by kernel test robot
Hi Arvind,
FYI, the error/warning still remains.
tree: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-4.19.y
head: 050ebdeaa48830852f690696606997b274af7148
commit: b207caff4176e3a6ba273243da2db2e595e4aad2 [2415/4776] compiler.h: fix barrier_data() on clang
config: riscv-allyesconfig (attached as .config)
compiler: riscv64-linux-gcc (GCC) 9.3.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.19.y
git checkout b207caff4176e3a6ba273243da2db2e595e4aad2
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=riscv
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 >>):
In file included from include/linux/prefetch.h:15,
from drivers/net/ethernet/intel/i40e/i40e_txrx.c:4:
arch/riscv/include/asm/processor.h: In function 'cpu_relax':
>> arch/riscv/include/asm/processor.h:82:2: error: implicit declaration of function 'barrier' [-Werror=implicit-function-declaration]
82 | barrier();
| ^~~~~~~
In file included from include/linux/sctp.h:57,
from drivers/net/ethernet/intel/i40e/i40e.h:23,
from drivers/net/ethernet/intel/i40e/i40e_txrx.c:8:
include/uapi/linux/sctp.h: At top level:
include/uapi/linux/sctp.h:390:1: warning: alignment 4 of 'struct sctp_paddr_change' is less than 8 [-Wpacked-not-aligned]
390 | } __attribute__((packed, aligned(4)));
| ^
include/uapi/linux/sctp.h:719:1: warning: alignment 4 of 'struct sctp_setpeerprim' is less than 8 [-Wpacked-not-aligned]
719 | } __attribute__((packed, aligned(4)));
| ^
include/uapi/linux/sctp.h:718:26: warning: 'sspp_addr' offset 4 in 'struct sctp_setpeerprim' isn't aligned to 8 [-Wpacked-not-aligned]
718 | struct sockaddr_storage sspp_addr;
| ^~~~~~~~~
include/uapi/linux/sctp.h:732:1: warning: alignment 4 of 'struct sctp_prim' is less than 8 [-Wpacked-not-aligned]
732 | } __attribute__((packed, aligned(4)));
| ^
include/uapi/linux/sctp.h:731:26: warning: 'ssp_addr' offset 4 in 'struct sctp_prim' isn't aligned to 8 [-Wpacked-not-aligned]
731 | struct sockaddr_storage ssp_addr;
| ^~~~~~~~
include/uapi/linux/sctp.h:783:1: warning: alignment 4 of 'struct sctp_paddrparams' is less than 8 [-Wpacked-not-aligned]
783 | } __attribute__((packed, aligned(4)));
| ^
include/uapi/linux/sctp.h:775:26: warning: 'spp_address' offset 4 in 'struct sctp_paddrparams' isn't aligned to 8 [-Wpacked-not-aligned]
775 | struct sockaddr_storage spp_address;
| ^~~~~~~~~~~
include/uapi/linux/sctp.h:896:1: warning: alignment 4 of 'struct sctp_paddrinfo' is less than 8 [-Wpacked-not-aligned]
896 | } __attribute__((packed, aligned(4)));
| ^
include/uapi/linux/sctp.h:890:26: warning: 'spinfo_address' offset 4 in 'struct sctp_paddrinfo' isn't aligned to 8 [-Wpacked-not-aligned]
890 | struct sockaddr_storage spinfo_address;
| ^~~~~~~~~~~~~~
cc1: some warnings being treated as errors
vim +/barrier +82 arch/riscv/include/asm/processor.h
7db91e57a0acde Palmer Dabbelt 2017-07-10 73
7db91e57a0acde Palmer Dabbelt 2017-07-10 74
7db91e57a0acde Palmer Dabbelt 2017-07-10 75 static inline void cpu_relax(void)
7db91e57a0acde Palmer Dabbelt 2017-07-10 76 {
7db91e57a0acde Palmer Dabbelt 2017-07-10 77 #ifdef __riscv_muldiv
7db91e57a0acde Palmer Dabbelt 2017-07-10 78 int dummy;
7db91e57a0acde Palmer Dabbelt 2017-07-10 79 /* In lieu of a halt instruction, induce a long-latency stall. */
7db91e57a0acde Palmer Dabbelt 2017-07-10 80 __asm__ __volatile__ ("div %0, %0, zero" : "=r" (dummy));
7db91e57a0acde Palmer Dabbelt 2017-07-10 81 #endif
7db91e57a0acde Palmer Dabbelt 2017-07-10 @82 barrier();
7db91e57a0acde Palmer Dabbelt 2017-07-10 83 }
7db91e57a0acde Palmer Dabbelt 2017-07-10 84
:::::: The code at line 82 was first introduced by commit
:::::: 7db91e57a0acde126a162ababfb1e0ab190130cb RISC-V: Task implementation
:::::: TO: Palmer Dabbelt <palmer(a)dabbelt.com>
:::::: CC: Palmer Dabbelt <palmer(a)dabbelt.com>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 3 months
[sashal-linux-stable:pending-5.4 35/50] kernel/bpf/verifier.c:6097:13: error: no member named 'bypass_spec_v1' in 'struct bpf_verifier_env'
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/sashal/linux-stable.git pending-5.4
head: 830a1d62935d74cfbfdbf6f806932fbcebf8dfe7
commit: a644f6d0319038a98ba3395dd3aeb89f5594a847 [35/50] bpf: Fix leakage under speculation on mispredicted branches
config: arm-randconfig-r012-20210620 (attached as .config)
compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project e1adf90826a57b674eee79b071fb46c1f5683cd0)
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 arm cross compiling tool for clang build
# apt-get install binutils-arm-linux-gnueabi
# https://git.kernel.org/pub/scm/linux/kernel/git/sashal/linux-stable.git/c...
git remote add sashal-linux-stable https://git.kernel.org/pub/scm/linux/kernel/git/sashal/linux-stable.git
git fetch --no-tags sashal-linux-stable pending-5.4
git checkout a644f6d0319038a98ba3395dd3aeb89f5594a847
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=arm
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 >>):
>> kernel/bpf/verifier.c:6097:13: error: no member named 'bypass_spec_v1' in 'struct bpf_verifier_env'
if (!env->bypass_spec_v1 &&
~~~ ^
kernel/bpf/verifier.c:6108:13: error: no member named 'bypass_spec_v1' in 'struct bpf_verifier_env'
if (!env->bypass_spec_v1 &&
~~~ ^
2 errors generated.
--
>> arch/arm/kernel/patch.c:40:2: error: implicit declaration of function 'set_fixmap' [-Werror,-Wimplicit-function-declaration]
set_fixmap(fixmap, page_to_phys(page));
^
>> arch/arm/kernel/patch.c:42:19: error: implicit declaration of function '__fix_to_virt' [-Werror,-Wimplicit-function-declaration]
return (void *) (__fix_to_virt(fixmap) + (uintaddr & ~PAGE_MASK));
^
arch/arm/kernel/patch.c:42:19: note: did you mean '__phys_to_virt'?
arch/arm/include/asm/memory.h:257:29: note: '__phys_to_virt' declared here
static inline unsigned long __phys_to_virt(phys_addr_t x)
^
>> arch/arm/kernel/patch.c:48:2: error: implicit declaration of function 'clear_fixmap' [-Werror,-Wimplicit-function-declaration]
clear_fixmap(fixmap);
^
3 errors generated.
vim +6097 kernel/bpf/verifier.c
6026
6027 static int check_cond_jmp_op(struct bpf_verifier_env *env,
6028 struct bpf_insn *insn, int *insn_idx)
6029 {
6030 struct bpf_verifier_state *this_branch = env->cur_state;
6031 struct bpf_verifier_state *other_branch;
6032 struct bpf_reg_state *regs = this_branch->frame[this_branch->curframe]->regs;
6033 struct bpf_reg_state *dst_reg, *other_branch_regs, *src_reg = NULL;
6034 u8 opcode = BPF_OP(insn->code);
6035 bool is_jmp32;
6036 int pred = -1;
6037 int err;
6038
6039 /* Only conditional jumps are expected to reach here. */
6040 if (opcode == BPF_JA || opcode > BPF_JSLE) {
6041 verbose(env, "invalid BPF_JMP/JMP32 opcode %x\n", opcode);
6042 return -EINVAL;
6043 }
6044
6045 if (BPF_SRC(insn->code) == BPF_X) {
6046 if (insn->imm != 0) {
6047 verbose(env, "BPF_JMP/JMP32 uses reserved fields\n");
6048 return -EINVAL;
6049 }
6050
6051 /* check src1 operand */
6052 err = check_reg_arg(env, insn->src_reg, SRC_OP);
6053 if (err)
6054 return err;
6055
6056 if (is_pointer_value(env, insn->src_reg)) {
6057 verbose(env, "R%d pointer comparison prohibited\n",
6058 insn->src_reg);
6059 return -EACCES;
6060 }
6061 src_reg = ®s[insn->src_reg];
6062 } else {
6063 if (insn->src_reg != BPF_REG_0) {
6064 verbose(env, "BPF_JMP/JMP32 uses reserved fields\n");
6065 return -EINVAL;
6066 }
6067 }
6068
6069 /* check src2 operand */
6070 err = check_reg_arg(env, insn->dst_reg, SRC_OP);
6071 if (err)
6072 return err;
6073
6074 dst_reg = ®s[insn->dst_reg];
6075 is_jmp32 = BPF_CLASS(insn->code) == BPF_JMP32;
6076
6077 if (BPF_SRC(insn->code) == BPF_K)
6078 pred = is_branch_taken(dst_reg, insn->imm,
6079 opcode, is_jmp32);
6080 else if (src_reg->type == SCALAR_VALUE &&
6081 tnum_is_const(src_reg->var_off))
6082 pred = is_branch_taken(dst_reg, src_reg->var_off.value,
6083 opcode, is_jmp32);
6084 if (pred >= 0) {
6085 err = mark_chain_precision(env, insn->dst_reg);
6086 if (BPF_SRC(insn->code) == BPF_X && !err)
6087 err = mark_chain_precision(env, insn->src_reg);
6088 if (err)
6089 return err;
6090 }
6091
6092 if (pred == 1) {
6093 /* Only follow the goto, ignore fall-through. If needed, push
6094 * the fall-through branch for simulation under speculative
6095 * execution.
6096 */
> 6097 if (!env->bypass_spec_v1 &&
6098 !sanitize_speculative_path(env, insn, *insn_idx + 1,
6099 *insn_idx))
6100 return -EFAULT;
6101 *insn_idx += insn->off;
6102 return 0;
6103 } else if (pred == 0) {
6104 /* Only follow the fall-through branch, since that's where the
6105 * program will go. If needed, push the goto branch for
6106 * simulation under speculative execution.
6107 */
6108 if (!env->bypass_spec_v1 &&
6109 !sanitize_speculative_path(env, insn,
6110 *insn_idx + insn->off + 1,
6111 *insn_idx))
6112 return -EFAULT;
6113 return 0;
6114 }
6115
6116 other_branch = push_stack(env, *insn_idx + insn->off + 1, *insn_idx,
6117 false);
6118 if (!other_branch)
6119 return -EFAULT;
6120 other_branch_regs = other_branch->frame[other_branch->curframe]->regs;
6121
6122 /* detect if we are comparing against a constant value so we can adjust
6123 * our min/max values for our dst register.
6124 * this is only legit if both are scalars (or pointers to the same
6125 * object, I suppose, but we don't support that right now), because
6126 * otherwise the different base pointers mean the offsets aren't
6127 * comparable.
6128 */
6129 if (BPF_SRC(insn->code) == BPF_X) {
6130 struct bpf_reg_state *src_reg = ®s[insn->src_reg];
6131 struct bpf_reg_state lo_reg0 = *dst_reg;
6132 struct bpf_reg_state lo_reg1 = *src_reg;
6133 struct bpf_reg_state *src_lo, *dst_lo;
6134
6135 dst_lo = &lo_reg0;
6136 src_lo = &lo_reg1;
6137 coerce_reg_to_size(dst_lo, 4);
6138 coerce_reg_to_size(src_lo, 4);
6139
6140 if (dst_reg->type == SCALAR_VALUE &&
6141 src_reg->type == SCALAR_VALUE) {
6142 if (tnum_is_const(src_reg->var_off) ||
6143 (is_jmp32 && tnum_is_const(src_lo->var_off)))
6144 reg_set_min_max(&other_branch_regs[insn->dst_reg],
6145 dst_reg,
6146 is_jmp32
6147 ? src_lo->var_off.value
6148 : src_reg->var_off.value,
6149 opcode, is_jmp32);
6150 else if (tnum_is_const(dst_reg->var_off) ||
6151 (is_jmp32 && tnum_is_const(dst_lo->var_off)))
6152 reg_set_min_max_inv(&other_branch_regs[insn->src_reg],
6153 src_reg,
6154 is_jmp32
6155 ? dst_lo->var_off.value
6156 : dst_reg->var_off.value,
6157 opcode, is_jmp32);
6158 else if (!is_jmp32 &&
6159 (opcode == BPF_JEQ || opcode == BPF_JNE))
6160 /* Comparing for equality, we can combine knowledge */
6161 reg_combine_min_max(&other_branch_regs[insn->src_reg],
6162 &other_branch_regs[insn->dst_reg],
6163 src_reg, dst_reg, opcode);
6164 }
6165 } else if (dst_reg->type == SCALAR_VALUE) {
6166 reg_set_min_max(&other_branch_regs[insn->dst_reg],
6167 dst_reg, insn->imm, opcode, is_jmp32);
6168 }
6169
6170 /* detect if R == 0 where R is returned from bpf_map_lookup_elem().
6171 * NOTE: these optimizations below are related with pointer comparison
6172 * which will never be JMP32.
6173 */
6174 if (!is_jmp32 && BPF_SRC(insn->code) == BPF_K &&
6175 insn->imm == 0 && (opcode == BPF_JEQ || opcode == BPF_JNE) &&
6176 reg_type_may_be_null(dst_reg->type)) {
6177 /* Mark all identical registers in each branch as either
6178 * safe or unknown depending R == 0 or R != 0 conditional.
6179 */
6180 mark_ptr_or_null_regs(this_branch, insn->dst_reg,
6181 opcode == BPF_JNE);
6182 mark_ptr_or_null_regs(other_branch, insn->dst_reg,
6183 opcode == BPF_JEQ);
6184 } else if (!try_match_pkt_pointers(insn, dst_reg, ®s[insn->src_reg],
6185 this_branch, other_branch) &&
6186 is_pointer_value(env, insn->dst_reg)) {
6187 verbose(env, "R%d pointer comparison prohibited\n",
6188 insn->dst_reg);
6189 return -EACCES;
6190 }
6191 if (env->log.level & BPF_LOG_LEVEL)
6192 print_verifier_state(env, this_branch->frame[this_branch->curframe]);
6193 return 0;
6194 }
6195
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 3 months
Re: [PATCH 2/2] PM: domain: use per-genpd lockdep class
by kernel test robot
Hi Dmitry,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on pm/linux-next]
[also build test ERROR on v5.13-rc6 next-20210618]
[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/Dmitry-Baryshkov/PM-domains-use-...
base: https://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git linux-next
config: x86_64-allyesconfig (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build):
# https://github.com/0day-ci/linux/commit/e8b916bca5705e8166b78ec1b58feb271...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Dmitry-Baryshkov/PM-domains-use-separate-lockdep-class-for-each-genpd/20210617-032213
git checkout e8b916bca5705e8166b78ec1b58feb27130d07f4
# save the attached .config to linux build tree
make W=1 ARCH=x86_64
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 >>):
drivers/base/power/domain.c: In function 'genpd_lock_init':
>> drivers/base/power/domain.c:1945:8: error: 'struct generic_pm_domain' has no member named 'mlock_key'
1945 | genpd->mlock_key = kzalloc(sizeof(genpd->mlock_key), GFP_KERNEL);
| ^~
drivers/base/power/domain.c:1945:42: error: 'struct generic_pm_domain' has no member named 'mlock_key'
1945 | genpd->mlock_key = kzalloc(sizeof(genpd->mlock_key), GFP_KERNEL);
| ^~
drivers/base/power/domain.c:1946:13: error: 'struct generic_pm_domain' has no member named 'mlock_key'
1946 | if (!genpd->mlock_key)
| ^~
drivers/base/power/domain.c:1949:29: error: 'struct generic_pm_domain' has no member named 'mlock_key'
1949 | lockdep_register_key(genpd->mlock_key);
| ^~
drivers/base/power/domain.c:1951:49: error: 'struct generic_pm_domain' has no member named 'mlock_key'
1951 | __mutex_init(&genpd->mlock, genpd->name, genpd->mlock_key);
| ^~
drivers/base/power/domain.c: In function 'genpd_lock_destroy':
drivers/base/power/domain.c:1961:14: error: 'struct generic_pm_domain' has no member named 'mlock_key'
1961 | kfree(genpd->mlock_key);
| ^~
vim +1945 drivers/base/power/domain.c
1935
1936 static int genpd_lock_init(struct generic_pm_domain *genpd)
1937 {
1938 if (genpd->flags & GENPD_FLAG_IRQ_SAFE) {
1939 spin_lock_init(&genpd->slock);
1940 genpd->lock_ops = &genpd_spin_ops;
1941 } else {
1942 /* Some genpds are static, some are dynamically allocated. To
1943 * make lockdep happy always allocate the key dynamically and
1944 * register it. */
> 1945 genpd->mlock_key = kzalloc(sizeof(genpd->mlock_key), GFP_KERNEL);
1946 if (!genpd->mlock_key)
1947 return -ENOMEM;
1948
1949 lockdep_register_key(genpd->mlock_key);
1950
1951 __mutex_init(&genpd->mlock, genpd->name, genpd->mlock_key);
1952 genpd->lock_ops = &genpd_mtx_ops;
1953 }
1954
1955 return 0;
1956 }
1957
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 3 months
[tip:smp/urgent 1/1] kernel/cpu.c:1353:2: error: implicit declaration of function 'cpu_up_down_serialize_trainwrecks'
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git smp/urgent
head: 64c71be97c02c3d3f24dea7c290912ad300538b9
commit: 64c71be97c02c3d3f24dea7c290912ad300538b9 [1/1] cpu/hotplug: Cure the cpusets trainwreck
config: mips-randconfig-r005-20210620 (attached as .config)
compiler: mips64-linux-gcc (GCC) 9.3.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/tip/tip.git/commit/?id=64...
git remote add tip https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git
git fetch --no-tags tip smp/urgent
git checkout 64c71be97c02c3d3f24dea7c290912ad300538b9
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=mips
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 >>):
kernel/cpu.c: In function '_cpu_up':
>> kernel/cpu.c:1353:2: error: implicit declaration of function 'cpu_up_down_serialize_trainwrecks' [-Werror=implicit-function-declaration]
1353 | cpu_up_down_serialize_trainwrecks(tasks_frozen);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
vim +/cpu_up_down_serialize_trainwrecks +1353 kernel/cpu.c
1295
1296 /* Requires cpu_add_remove_lock to be held */
1297 static int _cpu_up(unsigned int cpu, int tasks_frozen, enum cpuhp_state target)
1298 {
1299 struct cpuhp_cpu_state *st = per_cpu_ptr(&cpuhp_state, cpu);
1300 struct task_struct *idle;
1301 int ret = 0;
1302
1303 cpus_write_lock();
1304
1305 if (!cpu_present(cpu)) {
1306 ret = -EINVAL;
1307 goto out;
1308 }
1309
1310 /*
1311 * The caller of cpu_up() might have raced with another
1312 * caller. Nothing to do.
1313 */
1314 if (st->state >= target)
1315 goto out;
1316
1317 if (st->state == CPUHP_OFFLINE) {
1318 /* Let it fail before we try to bring the cpu up */
1319 idle = idle_thread_get(cpu);
1320 if (IS_ERR(idle)) {
1321 ret = PTR_ERR(idle);
1322 goto out;
1323 }
1324 }
1325
1326 cpuhp_tasks_frozen = tasks_frozen;
1327
1328 cpuhp_set_state(st, target);
1329 /*
1330 * If the current CPU state is in the range of the AP hotplug thread,
1331 * then we need to kick the thread once more.
1332 */
1333 if (st->state > CPUHP_BRINGUP_CPU) {
1334 ret = cpuhp_kick_ap_work(cpu);
1335 /*
1336 * The AP side has done the error rollback already. Just
1337 * return the error code..
1338 */
1339 if (ret)
1340 goto out;
1341 }
1342
1343 /*
1344 * Try to reach the target state. We max out on the BP at
1345 * CPUHP_BRINGUP_CPU. After that the AP hotplug thread is
1346 * responsible for bringing it up to the target state.
1347 */
1348 target = min((int)target, CPUHP_BRINGUP_CPU);
1349 ret = cpuhp_up_callbacks(cpu, st, target);
1350 out:
1351 cpus_write_unlock();
1352 arch_smt_update();
> 1353 cpu_up_down_serialize_trainwrecks(tasks_frozen);
1354 return ret;
1355 }
1356
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 3 months
drivers/media/platform/allegro-dvt/allegro-core.c:3206:34: warning: unused variable 'allegro_dt_ids'
by kernel test robot
Hi Michael,
First bad commit (maybe != root cause):
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 913ec3c22ef425d63dd0bc81fb008ce7f9bcb07b
commit: d74d4e2359ec7985831192f9b5ee22ed5e55b81c media: allegro: move driver out of staging
date: 6 months ago
config: arm-randconfig-r021-20210620 (attached as .config)
compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project d1baf2895467735ab14f4b3415fce204c0cc8e7f)
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 arm cross compiling tool for clang build
# apt-get install binutils-arm-linux-gnueabi
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit...
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout d74d4e2359ec7985831192f9b5ee22ed5e55b81c
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=arm
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
>> drivers/media/platform/allegro-dvt/allegro-core.c:3206:34: warning: unused variable 'allegro_dt_ids' [-Wunused-const-variable]
static const struct of_device_id allegro_dt_ids[] = {
^
1 warning generated.
vim +/allegro_dt_ids +3206 drivers/media/platform/allegro-dvt/allegro-core.c
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 3205
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 @3206 static const struct of_device_id allegro_dt_ids[] = {
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 3207 { .compatible = "allegro,al5e-1.1" },
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 3208 { /* sentinel */ }
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 3209 };
f20387dfd06569 drivers/staging/media/allegro-dvt/allegro-core.c Michael Tretter 2019-05-28 3210
:::::: The code at line 3206 was first introduced by commit
:::::: f20387dfd065693ba7ea2788a2f893bf653c9cb8 media: allegro: add Allegro DVT video IP core driver
:::::: TO: Michael Tretter <m.tretter(a)pengutronix.de>
:::::: CC: Mauro Carvalho Chehab <mchehab+samsung(a)kernel.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 3 months
[sashal-linux-stable:pending-5.10 34/75] drivers/net/ethernet/mellanox/mlx5/core/en_main.c:4287:23: error: 'struct mlx5_ifc_per_protocol_networking_offload_caps_bits' has no member named 'tunnel_stateless_ip_over_ip_tx'; did you mean 'tunnel_stateless_ip_over_ip'?
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/sashal/linux-stable.git pending-5.10
head: d3d724c776af8a996b98197aa98b8bb86b014ca9
commit: c7cfa7813151e901faa65fe0d77ce0f0c7f76e5d [34/75] net/mlx5e: Split between RX/TX tunnel FW support indication
config: arc-allyesconfig (attached as .config)
compiler: arceb-elf-gcc (GCC) 9.3.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/sashal/linux-stable.git/c...
git remote add sashal-linux-stable https://git.kernel.org/pub/scm/linux/kernel/git/sashal/linux-stable.git
git fetch --no-tags sashal-linux-stable pending-5.10
git checkout c7cfa7813151e901faa65fe0d77ce0f0c7f76e5d
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=arc
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 >>):
In file included from include/linux/byteorder/big_endian.h:5,
from arch/arc/include/uapi/asm/byteorder.h:14,
from include/asm-generic/bitops/le.h:6,
from arch/arc/include/asm/bitops.h:373,
from include/linux/bitops.h:29,
from include/linux/kernel.h:12,
from include/asm-generic/bug.h:20,
from arch/arc/include/asm/bug.h:30,
from include/linux/bug.h:5,
from include/linux/refcount.h:96,
from include/net/act_api.h:9,
from include/net/tc_act/tc_gact.h:5,
from drivers/net/ethernet/mellanox/mlx5/core/en_main.c:33:
drivers/net/ethernet/mellanox/mlx5/core/en_main.c: In function 'mlx5e_tunnel_proto_supported_tx':
>> drivers/net/ethernet/mellanox/mlx5/core/en_main.c:4287:23: error: 'struct mlx5_ifc_per_protocol_networking_offload_caps_bits' has no member named 'tunnel_stateless_ip_over_ip_tx'; did you mean 'tunnel_stateless_ip_over_ip'?
4287 | MLX5_CAP_ETH(mdev, tunnel_stateless_ip_over_ip_tx));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/uapi/linux/byteorder/big_endian.h:40:51: note: in definition of macro '__be32_to_cpu'
40 | #define __be32_to_cpu(x) ((__force __u32)(__be32)(x))
| ^
include/linux/stddef.h:17:32: note: in expansion of macro '__compiler_offsetof'
17 | #define offsetof(TYPE, MEMBER) __compiler_offsetof(TYPE, MEMBER)
| ^~~~~~~~~~~~~~~~~~~
include/linux/mlx5/device.h:51:35: note: in expansion of macro 'offsetof'
51 | #define __mlx5_bit_off(typ, fld) (offsetof(struct mlx5_ifc_##typ##_bits, fld))
| ^~~~~~~~
include/linux/mlx5/device.h:53:34: note: in expansion of macro '__mlx5_bit_off'
53 | #define __mlx5_dw_off(typ, fld) (__mlx5_bit_off(typ, fld) / 32)
| ^~~~~~~~~~~~~~
include/linux/mlx5/device.h:96:1: note: in expansion of macro '__mlx5_dw_off'
96 | __mlx5_dw_off(typ, fld))) >> __mlx5_dw_bit_off(typ, fld)) & \
| ^~~~~~~~~~~~~
include/linux/mlx5/device.h:1199:2: note: in expansion of macro 'MLX5_GET'
1199 | MLX5_GET(per_protocol_networking_offload_caps,\
| ^~~~~~~~
drivers/net/ethernet/mellanox/mlx5/core/en_main.c:4287:4: note: in expansion of macro 'MLX5_CAP_ETH'
4287 | MLX5_CAP_ETH(mdev, tunnel_stateless_ip_over_ip_tx));
| ^~~~~~~~~~~~
In file included from include/linux/mlx5/driver.h:52,
from include/linux/mlx5/fs.h:36,
from drivers/net/ethernet/mellanox/mlx5/core/en_main.c:35:
>> drivers/net/ethernet/mellanox/mlx5/core/en_main.c:4287:23: error: 'struct mlx5_ifc_per_protocol_networking_offload_caps_bits' has no member named 'tunnel_stateless_ip_over_ip_tx'; did you mean 'tunnel_stateless_ip_over_ip'?
4287 | MLX5_CAP_ETH(mdev, tunnel_stateless_ip_over_ip_tx));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/mlx5/device.h:50:59: note: in definition of macro '__mlx5_bit_sz'
50 | #define __mlx5_bit_sz(typ, fld) sizeof(__mlx5_nullp(typ)->fld)
| ^~~
include/linux/mlx5/device.h:96:30: note: in expansion of macro '__mlx5_dw_bit_off'
96 | __mlx5_dw_off(typ, fld))) >> __mlx5_dw_bit_off(typ, fld)) & \
| ^~~~~~~~~~~~~~~~~
include/linux/mlx5/device.h:1199:2: note: in expansion of macro 'MLX5_GET'
1199 | MLX5_GET(per_protocol_networking_offload_caps,\
| ^~~~~~~~
drivers/net/ethernet/mellanox/mlx5/core/en_main.c:4287:4: note: in expansion of macro 'MLX5_CAP_ETH'
4287 | MLX5_CAP_ETH(mdev, tunnel_stateless_ip_over_ip_tx));
| ^~~~~~~~~~~~
In file included from <command-line>:
>> drivers/net/ethernet/mellanox/mlx5/core/en_main.c:4287:23: error: 'struct mlx5_ifc_per_protocol_networking_offload_caps_bits' has no member named 'tunnel_stateless_ip_over_ip_tx'; did you mean 'tunnel_stateless_ip_over_ip'?
4287 | MLX5_CAP_ETH(mdev, tunnel_stateless_ip_over_ip_tx));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/compiler_types.h:135:57: note: in definition of macro '__compiler_offsetof'
135 | #define __compiler_offsetof(a, b) __builtin_offsetof(a, b)
| ^
include/linux/mlx5/device.h:51:35: note: in expansion of macro 'offsetof'
51 | #define __mlx5_bit_off(typ, fld) (offsetof(struct mlx5_ifc_##typ##_bits, fld))
| ^~~~~~~~
include/linux/mlx5/device.h:56:70: note: in expansion of macro '__mlx5_bit_off'
56 | #define __mlx5_dw_bit_off(typ, fld) (32 - __mlx5_bit_sz(typ, fld) - (__mlx5_bit_off(typ, fld) & 0x1f))
| ^~~~~~~~~~~~~~
include/linux/mlx5/device.h:96:30: note: in expansion of macro '__mlx5_dw_bit_off'
96 | __mlx5_dw_off(typ, fld))) >> __mlx5_dw_bit_off(typ, fld)) & \
| ^~~~~~~~~~~~~~~~~
include/linux/mlx5/device.h:1199:2: note: in expansion of macro 'MLX5_GET'
1199 | MLX5_GET(per_protocol_networking_offload_caps,\
| ^~~~~~~~
drivers/net/ethernet/mellanox/mlx5/core/en_main.c:4287:4: note: in expansion of macro 'MLX5_CAP_ETH'
4287 | MLX5_CAP_ETH(mdev, tunnel_stateless_ip_over_ip_tx));
| ^~~~~~~~~~~~
In file included from include/linux/mlx5/driver.h:52,
from include/linux/mlx5/fs.h:36,
from drivers/net/ethernet/mellanox/mlx5/core/en_main.c:35:
>> drivers/net/ethernet/mellanox/mlx5/core/en_main.c:4287:23: error: 'struct mlx5_ifc_per_protocol_networking_offload_caps_bits' has no member named 'tunnel_stateless_ip_over_ip_tx'; did you mean 'tunnel_stateless_ip_over_ip'?
4287 | MLX5_CAP_ETH(mdev, tunnel_stateless_ip_over_ip_tx));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/mlx5/device.h:50:59: note: in definition of macro '__mlx5_bit_sz'
50 | #define __mlx5_bit_sz(typ, fld) sizeof(__mlx5_nullp(typ)->fld)
| ^~~
include/linux/mlx5/device.h:97:1: note: in expansion of macro '__mlx5_mask'
97 | __mlx5_mask(typ, fld))
| ^~~~~~~~~~~
include/linux/mlx5/device.h:1199:2: note: in expansion of macro 'MLX5_GET'
1199 | MLX5_GET(per_protocol_networking_offload_caps,\
| ^~~~~~~~
drivers/net/ethernet/mellanox/mlx5/core/en_main.c:4287:4: note: in expansion of macro 'MLX5_CAP_ETH'
4287 | MLX5_CAP_ETH(mdev, tunnel_stateless_ip_over_ip_tx));
| ^~~~~~~~~~~~
--
In file included from include/linux/byteorder/big_endian.h:5,
from arch/arc/include/uapi/asm/byteorder.h:14,
from include/asm-generic/bitops/le.h:6,
from arch/arc/include/asm/bitops.h:373,
from include/linux/bitops.h:29,
from include/linux/kernel.h:12,
from include/linux/list.h:9,
from drivers/net/ethernet/mellanox/mlx5/core/en_fs.c:33:
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c: In function 'mlx5e_tunnel_proto_supported_rx':
>> drivers/net/ethernet/mellanox/mlx5/core/en_fs.c:789:23: error: 'struct mlx5_ifc_per_protocol_networking_offload_caps_bits' has no member named 'tunnel_stateless_ip_over_ip_rx'; did you mean 'tunnel_stateless_ip_over_ip'?
789 | MLX5_CAP_ETH(mdev, tunnel_stateless_ip_over_ip_rx));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/uapi/linux/byteorder/big_endian.h:40:51: note: in definition of macro '__be32_to_cpu'
40 | #define __be32_to_cpu(x) ((__force __u32)(__be32)(x))
| ^
include/linux/stddef.h:17:32: note: in expansion of macro '__compiler_offsetof'
17 | #define offsetof(TYPE, MEMBER) __compiler_offsetof(TYPE, MEMBER)
| ^~~~~~~~~~~~~~~~~~~
include/linux/mlx5/device.h:51:35: note: in expansion of macro 'offsetof'
51 | #define __mlx5_bit_off(typ, fld) (offsetof(struct mlx5_ifc_##typ##_bits, fld))
| ^~~~~~~~
include/linux/mlx5/device.h:53:34: note: in expansion of macro '__mlx5_bit_off'
53 | #define __mlx5_dw_off(typ, fld) (__mlx5_bit_off(typ, fld) / 32)
| ^~~~~~~~~~~~~~
include/linux/mlx5/device.h:96:1: note: in expansion of macro '__mlx5_dw_off'
96 | __mlx5_dw_off(typ, fld))) >> __mlx5_dw_bit_off(typ, fld)) & \
| ^~~~~~~~~~~~~
include/linux/mlx5/device.h:1199:2: note: in expansion of macro 'MLX5_GET'
1199 | MLX5_GET(per_protocol_networking_offload_caps,\
| ^~~~~~~~
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c:789:4: note: in expansion of macro 'MLX5_CAP_ETH'
789 | MLX5_CAP_ETH(mdev, tunnel_stateless_ip_over_ip_rx));
| ^~~~~~~~~~~~
In file included from include/linux/mlx5/driver.h:52,
from include/linux/mlx5/fs.h:36,
from drivers/net/ethernet/mellanox/mlx5/core/en_fs.c:37:
>> drivers/net/ethernet/mellanox/mlx5/core/en_fs.c:789:23: error: 'struct mlx5_ifc_per_protocol_networking_offload_caps_bits' has no member named 'tunnel_stateless_ip_over_ip_rx'; did you mean 'tunnel_stateless_ip_over_ip'?
789 | MLX5_CAP_ETH(mdev, tunnel_stateless_ip_over_ip_rx));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/mlx5/device.h:50:59: note: in definition of macro '__mlx5_bit_sz'
50 | #define __mlx5_bit_sz(typ, fld) sizeof(__mlx5_nullp(typ)->fld)
| ^~~
include/linux/mlx5/device.h:96:30: note: in expansion of macro '__mlx5_dw_bit_off'
96 | __mlx5_dw_off(typ, fld))) >> __mlx5_dw_bit_off(typ, fld)) & \
| ^~~~~~~~~~~~~~~~~
include/linux/mlx5/device.h:1199:2: note: in expansion of macro 'MLX5_GET'
1199 | MLX5_GET(per_protocol_networking_offload_caps,\
| ^~~~~~~~
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c:789:4: note: in expansion of macro 'MLX5_CAP_ETH'
789 | MLX5_CAP_ETH(mdev, tunnel_stateless_ip_over_ip_rx));
| ^~~~~~~~~~~~
In file included from <command-line>:
>> drivers/net/ethernet/mellanox/mlx5/core/en_fs.c:789:23: error: 'struct mlx5_ifc_per_protocol_networking_offload_caps_bits' has no member named 'tunnel_stateless_ip_over_ip_rx'; did you mean 'tunnel_stateless_ip_over_ip'?
789 | MLX5_CAP_ETH(mdev, tunnel_stateless_ip_over_ip_rx));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/compiler_types.h:135:57: note: in definition of macro '__compiler_offsetof'
135 | #define __compiler_offsetof(a, b) __builtin_offsetof(a, b)
| ^
include/linux/mlx5/device.h:51:35: note: in expansion of macro 'offsetof'
51 | #define __mlx5_bit_off(typ, fld) (offsetof(struct mlx5_ifc_##typ##_bits, fld))
| ^~~~~~~~
include/linux/mlx5/device.h:56:70: note: in expansion of macro '__mlx5_bit_off'
56 | #define __mlx5_dw_bit_off(typ, fld) (32 - __mlx5_bit_sz(typ, fld) - (__mlx5_bit_off(typ, fld) & 0x1f))
| ^~~~~~~~~~~~~~
include/linux/mlx5/device.h:96:30: note: in expansion of macro '__mlx5_dw_bit_off'
96 | __mlx5_dw_off(typ, fld))) >> __mlx5_dw_bit_off(typ, fld)) & \
| ^~~~~~~~~~~~~~~~~
include/linux/mlx5/device.h:1199:2: note: in expansion of macro 'MLX5_GET'
1199 | MLX5_GET(per_protocol_networking_offload_caps,\
| ^~~~~~~~
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c:789:4: note: in expansion of macro 'MLX5_CAP_ETH'
789 | MLX5_CAP_ETH(mdev, tunnel_stateless_ip_over_ip_rx));
| ^~~~~~~~~~~~
In file included from include/linux/mlx5/driver.h:52,
from include/linux/mlx5/fs.h:36,
from drivers/net/ethernet/mellanox/mlx5/core/en_fs.c:37:
>> drivers/net/ethernet/mellanox/mlx5/core/en_fs.c:789:23: error: 'struct mlx5_ifc_per_protocol_networking_offload_caps_bits' has no member named 'tunnel_stateless_ip_over_ip_rx'; did you mean 'tunnel_stateless_ip_over_ip'?
789 | MLX5_CAP_ETH(mdev, tunnel_stateless_ip_over_ip_rx));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/mlx5/device.h:50:59: note: in definition of macro '__mlx5_bit_sz'
50 | #define __mlx5_bit_sz(typ, fld) sizeof(__mlx5_nullp(typ)->fld)
| ^~~
include/linux/mlx5/device.h:97:1: note: in expansion of macro '__mlx5_mask'
97 | __mlx5_mask(typ, fld))
| ^~~~~~~~~~~
include/linux/mlx5/device.h:1199:2: note: in expansion of macro 'MLX5_GET'
1199 | MLX5_GET(per_protocol_networking_offload_caps,\
| ^~~~~~~~
drivers/net/ethernet/mellanox/mlx5/core/en_fs.c:789:4: note: in expansion of macro 'MLX5_CAP_ETH'
789 | MLX5_CAP_ETH(mdev, tunnel_stateless_ip_over_ip_rx));
| ^~~~~~~~~~~~
vim +4287 drivers/net/ethernet/mellanox/mlx5/core/en_main.c
4278
4279 static bool mlx5e_tunnel_proto_supported_tx(struct mlx5_core_dev *mdev, u8 proto_type)
4280 {
4281 switch (proto_type) {
4282 case IPPROTO_GRE:
4283 return MLX5_CAP_ETH(mdev, tunnel_stateless_gre);
4284 case IPPROTO_IPIP:
4285 case IPPROTO_IPV6:
4286 return (MLX5_CAP_ETH(mdev, tunnel_stateless_ip_over_ip) ||
> 4287 MLX5_CAP_ETH(mdev, tunnel_stateless_ip_over_ip_tx));
4288 default:
4289 return false;
4290 }
4291 }
4292
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 3 months
[tip:smp/urgent 1/1] kernel/cpu.c:1353:2: error: implicit declaration of function 'cpu_up_down_serialize_trainwrecks'
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git smp/urgent
head: 64c71be97c02c3d3f24dea7c290912ad300538b9
commit: 64c71be97c02c3d3f24dea7c290912ad300538b9 [1/1] cpu/hotplug: Cure the cpusets trainwreck
config: riscv-randconfig-r031-20210620 (attached as .config)
compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project d1baf2895467735ab14f4b3415fce204c0cc8e7f)
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 riscv cross compiling tool for clang build
# apt-get install binutils-riscv64-linux-gnu
# https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git/commit/?id=64...
git remote add tip https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git
git fetch --no-tags tip smp/urgent
git checkout 64c71be97c02c3d3f24dea7c290912ad300538b9
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=riscv
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 >>):
In file included from arch/riscv/include/asm/io.h:149:
include/asm-generic/io.h:556:9: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
return inb(addr);
^~~~~~~~~
arch/riscv/include/asm/io.h:55:76: note: expanded from macro 'inb'
#define inb(c) ({ u8 __v; __io_pbr(); __v = readb_cpu((void*)(PCI_IOBASE + (c))); __io_par(__v); __v; })
~~~~~~~~~~ ^
arch/riscv/include/asm/mmio.h:87:48: note: expanded from macro 'readb_cpu'
#define readb_cpu(c) ({ u8 __r = __raw_readb(c); __r; })
^
In file included from kernel/cpu.c:13:
In file included from include/linux/sched/isolation.h:6:
In file included from include/linux/tick.h:8:
In file included from include/linux/clockchips.h:14:
In file included from include/linux/clocksource.h:22:
In file included from arch/riscv/include/asm/io.h:149:
include/asm-generic/io.h:564:9: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
return inw(addr);
^~~~~~~~~
arch/riscv/include/asm/io.h:56:76: note: expanded from macro 'inw'
#define inw(c) ({ u16 __v; __io_pbr(); __v = readw_cpu((void*)(PCI_IOBASE + (c))); __io_par(__v); __v; })
~~~~~~~~~~ ^
arch/riscv/include/asm/mmio.h:88:76: note: expanded from macro 'readw_cpu'
#define readw_cpu(c) ({ u16 __r = le16_to_cpu((__force __le16)__raw_readw(c)); __r; })
^
include/uapi/linux/byteorder/little_endian.h:36:51: note: expanded from macro '__le16_to_cpu'
#define __le16_to_cpu(x) ((__force __u16)(__le16)(x))
^
In file included from kernel/cpu.c:13:
In file included from include/linux/sched/isolation.h:6:
In file included from include/linux/tick.h:8:
In file included from include/linux/clockchips.h:14:
In file included from include/linux/clocksource.h:22:
In file included from arch/riscv/include/asm/io.h:149:
include/asm-generic/io.h:572:9: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
return inl(addr);
^~~~~~~~~
arch/riscv/include/asm/io.h:57:76: note: expanded from macro 'inl'
#define inl(c) ({ u32 __v; __io_pbr(); __v = readl_cpu((void*)(PCI_IOBASE + (c))); __io_par(__v); __v; })
~~~~~~~~~~ ^
arch/riscv/include/asm/mmio.h:89:76: note: expanded from macro 'readl_cpu'
#define readl_cpu(c) ({ u32 __r = le32_to_cpu((__force __le32)__raw_readl(c)); __r; })
^
include/uapi/linux/byteorder/little_endian.h:34:51: note: expanded from macro '__le32_to_cpu'
#define __le32_to_cpu(x) ((__force __u32)(__le32)(x))
^
In file included from kernel/cpu.c:13:
In file included from include/linux/sched/isolation.h:6:
In file included from include/linux/tick.h:8:
In file included from include/linux/clockchips.h:14:
In file included from include/linux/clocksource.h:22:
In file included from arch/riscv/include/asm/io.h:149:
include/asm-generic/io.h:580:2: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
outb(value, addr);
^~~~~~~~~~~~~~~~~
arch/riscv/include/asm/io.h:59:68: note: expanded from macro 'outb'
#define outb(v,c) ({ __io_pbw(); writeb_cpu((v),(void*)(PCI_IOBASE + (c))); __io_paw(); })
~~~~~~~~~~ ^
arch/riscv/include/asm/mmio.h:91:52: note: expanded from macro 'writeb_cpu'
#define writeb_cpu(v, c) ((void)__raw_writeb((v), (c)))
^
In file included from kernel/cpu.c:13:
In file included from include/linux/sched/isolation.h:6:
In file included from include/linux/tick.h:8:
In file included from include/linux/clockchips.h:14:
In file included from include/linux/clocksource.h:22:
In file included from arch/riscv/include/asm/io.h:149:
include/asm-generic/io.h:588:2: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
outw(value, addr);
^~~~~~~~~~~~~~~~~
arch/riscv/include/asm/io.h:60:68: note: expanded from macro 'outw'
#define outw(v,c) ({ __io_pbw(); writew_cpu((v),(void*)(PCI_IOBASE + (c))); __io_paw(); })
~~~~~~~~~~ ^
arch/riscv/include/asm/mmio.h:92:76: note: expanded from macro 'writew_cpu'
#define writew_cpu(v, c) ((void)__raw_writew((__force u16)cpu_to_le16(v), (c)))
^
In file included from kernel/cpu.c:13:
In file included from include/linux/sched/isolation.h:6:
In file included from include/linux/tick.h:8:
In file included from include/linux/clockchips.h:14:
In file included from include/linux/clocksource.h:22:
In file included from arch/riscv/include/asm/io.h:149:
include/asm-generic/io.h:596:2: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
outl(value, addr);
^~~~~~~~~~~~~~~~~
arch/riscv/include/asm/io.h:61:68: note: expanded from macro 'outl'
#define outl(v,c) ({ __io_pbw(); writel_cpu((v),(void*)(PCI_IOBASE + (c))); __io_paw(); })
~~~~~~~~~~ ^
arch/riscv/include/asm/mmio.h:93:76: note: expanded from macro 'writel_cpu'
#define writel_cpu(v, c) ((void)__raw_writel((__force u32)cpu_to_le32(v), (c)))
^
In file included from kernel/cpu.c:13:
In file included from include/linux/sched/isolation.h:6:
In file included from include/linux/tick.h:8:
In file included from include/linux/clockchips.h:14:
In file included from include/linux/clocksource.h:22:
In file included from arch/riscv/include/asm/io.h:149:
include/asm-generic/io.h:1024:55: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
return (port > MMIO_UPPER_LIMIT) ? NULL : PCI_IOBASE + port;
~~~~~~~~~~ ^
>> kernel/cpu.c:1353:2: error: implicit declaration of function 'cpu_up_down_serialize_trainwrecks' [-Werror,-Wimplicit-function-declaration]
cpu_up_down_serialize_trainwrecks(tasks_frozen);
^
7 warnings and 1 error generated.
Kconfig warnings: (for reference only)
WARNING: unmet direct dependencies detected for LOCKDEP
Depends on DEBUG_KERNEL && LOCK_DEBUGGING_SUPPORT && (FRAME_POINTER || MIPS || PPC || S390 || MICROBLAZE || ARM || ARC || X86)
Selected by
- PROVE_LOCKING && DEBUG_KERNEL && LOCK_DEBUGGING_SUPPORT
- LOCK_STAT && DEBUG_KERNEL && LOCK_DEBUGGING_SUPPORT
- DEBUG_LOCK_ALLOC && DEBUG_KERNEL && LOCK_DEBUGGING_SUPPORT
vim +/cpu_up_down_serialize_trainwrecks +1353 kernel/cpu.c
1295
1296 /* Requires cpu_add_remove_lock to be held */
1297 static int _cpu_up(unsigned int cpu, int tasks_frozen, enum cpuhp_state target)
1298 {
1299 struct cpuhp_cpu_state *st = per_cpu_ptr(&cpuhp_state, cpu);
1300 struct task_struct *idle;
1301 int ret = 0;
1302
1303 cpus_write_lock();
1304
1305 if (!cpu_present(cpu)) {
1306 ret = -EINVAL;
1307 goto out;
1308 }
1309
1310 /*
1311 * The caller of cpu_up() might have raced with another
1312 * caller. Nothing to do.
1313 */
1314 if (st->state >= target)
1315 goto out;
1316
1317 if (st->state == CPUHP_OFFLINE) {
1318 /* Let it fail before we try to bring the cpu up */
1319 idle = idle_thread_get(cpu);
1320 if (IS_ERR(idle)) {
1321 ret = PTR_ERR(idle);
1322 goto out;
1323 }
1324 }
1325
1326 cpuhp_tasks_frozen = tasks_frozen;
1327
1328 cpuhp_set_state(st, target);
1329 /*
1330 * If the current CPU state is in the range of the AP hotplug thread,
1331 * then we need to kick the thread once more.
1332 */
1333 if (st->state > CPUHP_BRINGUP_CPU) {
1334 ret = cpuhp_kick_ap_work(cpu);
1335 /*
1336 * The AP side has done the error rollback already. Just
1337 * return the error code..
1338 */
1339 if (ret)
1340 goto out;
1341 }
1342
1343 /*
1344 * Try to reach the target state. We max out on the BP at
1345 * CPUHP_BRINGUP_CPU. After that the AP hotplug thread is
1346 * responsible for bringing it up to the target state.
1347 */
1348 target = min((int)target, CPUHP_BRINGUP_CPU);
1349 ret = cpuhp_up_callbacks(cpu, st, target);
1350 out:
1351 cpus_write_unlock();
1352 arch_smt_update();
> 1353 cpu_up_down_serialize_trainwrecks(tasks_frozen);
1354 return ret;
1355 }
1356
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 3 months
[sashal-linux-stable:pending-5.4 35/50] kernel/bpf/verifier.c:6097:11: error: 'struct bpf_verifier_env' has no member named 'bypass_spec_v1'
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/sashal/linux-stable.git pending-5.4
head: 830a1d62935d74cfbfdbf6f806932fbcebf8dfe7
commit: a644f6d0319038a98ba3395dd3aeb89f5594a847 [35/50] bpf: Fix leakage under speculation on mispredicted branches
config: i386-allyesconfig (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build):
# https://git.kernel.org/pub/scm/linux/kernel/git/sashal/linux-stable.git/c...
git remote add sashal-linux-stable https://git.kernel.org/pub/scm/linux/kernel/git/sashal/linux-stable.git
git fetch --no-tags sashal-linux-stable pending-5.4
git checkout a644f6d0319038a98ba3395dd3aeb89f5594a847
# save the attached .config to linux build tree
make W=1 ARCH=i386
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 >>):
kernel/bpf/verifier.c: In function 'check_cond_jmp_op':
>> kernel/bpf/verifier.c:6097:11: error: 'struct bpf_verifier_env' has no member named 'bypass_spec_v1'
6097 | if (!env->bypass_spec_v1 &&
| ^~
kernel/bpf/verifier.c:6108:11: error: 'struct bpf_verifier_env' has no member named 'bypass_spec_v1'
6108 | if (!env->bypass_spec_v1 &&
| ^~
In file included from include/linux/bpf_verifier.h:8,
from kernel/bpf/verifier.c:12:
kernel/bpf/verifier.c: In function 'jit_subprogs':
include/linux/filter.h:341:4: 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]
341 | ((u64 (*)(u64, u64, u64, u64, u64))(x))
| ^
kernel/bpf/verifier.c:9016:16: note: in expansion of macro 'BPF_CAST_CALL'
9016 | insn->imm = BPF_CAST_CALL(func[subprog]->bpf_func) -
| ^~~~~~~~~~~~~
kernel/bpf/verifier.c: In function 'fixup_bpf_calls':
include/linux/filter.h:341:4: warning: cast between incompatible function types from 'void * (* const)(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]
341 | ((u64 (*)(u64, u64, u64, u64, u64))(x))
| ^
kernel/bpf/verifier.c:9370:17: note: in expansion of macro 'BPF_CAST_CALL'
9370 | insn->imm = BPF_CAST_CALL(ops->map_lookup_elem) -
| ^~~~~~~~~~~~~
include/linux/filter.h:341:4: warning: cast between incompatible function types from 'int (* const)(struct bpf_map *, void *, void *, u64)' {aka 'int (* const)(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]
341 | ((u64 (*)(u64, u64, u64, u64, u64))(x))
| ^
kernel/bpf/verifier.c:9374:17: note: in expansion of macro 'BPF_CAST_CALL'
9374 | insn->imm = BPF_CAST_CALL(ops->map_update_elem) -
| ^~~~~~~~~~~~~
include/linux/filter.h:341:4: warning: cast between incompatible function types from 'int (* const)(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]
341 | ((u64 (*)(u64, u64, u64, u64, u64))(x))
| ^
kernel/bpf/verifier.c:9378:17: note: in expansion of macro 'BPF_CAST_CALL'
9378 | insn->imm = BPF_CAST_CALL(ops->map_delete_elem) -
| ^~~~~~~~~~~~~
include/linux/filter.h:341:4: warning: cast between incompatible function types from 'int (* const)(struct bpf_map *, void *, u64)' {aka 'int (* const)(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]
341 | ((u64 (*)(u64, u64, u64, u64, u64))(x))
| ^
kernel/bpf/verifier.c:9382:17: note: in expansion of macro 'BPF_CAST_CALL'
9382 | insn->imm = BPF_CAST_CALL(ops->map_push_elem) -
| ^~~~~~~~~~~~~
include/linux/filter.h:341:4: warning: cast between incompatible function types from 'int (* const)(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]
341 | ((u64 (*)(u64, u64, u64, u64, u64))(x))
| ^
kernel/bpf/verifier.c:9386:17: note: in expansion of macro 'BPF_CAST_CALL'
9386 | insn->imm = BPF_CAST_CALL(ops->map_pop_elem) -
| ^~~~~~~~~~~~~
include/linux/filter.h:341:4: warning: cast between incompatible function types from 'int (* const)(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]
341 | ((u64 (*)(u64, u64, u64, u64, u64))(x))
| ^
kernel/bpf/verifier.c:9390:17: note: in expansion of macro 'BPF_CAST_CALL'
9390 | insn->imm = BPF_CAST_CALL(ops->map_peek_elem) -
| ^~~~~~~~~~~~~
vim +6097 kernel/bpf/verifier.c
6026
6027 static int check_cond_jmp_op(struct bpf_verifier_env *env,
6028 struct bpf_insn *insn, int *insn_idx)
6029 {
6030 struct bpf_verifier_state *this_branch = env->cur_state;
6031 struct bpf_verifier_state *other_branch;
6032 struct bpf_reg_state *regs = this_branch->frame[this_branch->curframe]->regs;
6033 struct bpf_reg_state *dst_reg, *other_branch_regs, *src_reg = NULL;
6034 u8 opcode = BPF_OP(insn->code);
6035 bool is_jmp32;
6036 int pred = -1;
6037 int err;
6038
6039 /* Only conditional jumps are expected to reach here. */
6040 if (opcode == BPF_JA || opcode > BPF_JSLE) {
6041 verbose(env, "invalid BPF_JMP/JMP32 opcode %x\n", opcode);
6042 return -EINVAL;
6043 }
6044
6045 if (BPF_SRC(insn->code) == BPF_X) {
6046 if (insn->imm != 0) {
6047 verbose(env, "BPF_JMP/JMP32 uses reserved fields\n");
6048 return -EINVAL;
6049 }
6050
6051 /* check src1 operand */
6052 err = check_reg_arg(env, insn->src_reg, SRC_OP);
6053 if (err)
6054 return err;
6055
6056 if (is_pointer_value(env, insn->src_reg)) {
6057 verbose(env, "R%d pointer comparison prohibited\n",
6058 insn->src_reg);
6059 return -EACCES;
6060 }
6061 src_reg = ®s[insn->src_reg];
6062 } else {
6063 if (insn->src_reg != BPF_REG_0) {
6064 verbose(env, "BPF_JMP/JMP32 uses reserved fields\n");
6065 return -EINVAL;
6066 }
6067 }
6068
6069 /* check src2 operand */
6070 err = check_reg_arg(env, insn->dst_reg, SRC_OP);
6071 if (err)
6072 return err;
6073
6074 dst_reg = ®s[insn->dst_reg];
6075 is_jmp32 = BPF_CLASS(insn->code) == BPF_JMP32;
6076
6077 if (BPF_SRC(insn->code) == BPF_K)
6078 pred = is_branch_taken(dst_reg, insn->imm,
6079 opcode, is_jmp32);
6080 else if (src_reg->type == SCALAR_VALUE &&
6081 tnum_is_const(src_reg->var_off))
6082 pred = is_branch_taken(dst_reg, src_reg->var_off.value,
6083 opcode, is_jmp32);
6084 if (pred >= 0) {
6085 err = mark_chain_precision(env, insn->dst_reg);
6086 if (BPF_SRC(insn->code) == BPF_X && !err)
6087 err = mark_chain_precision(env, insn->src_reg);
6088 if (err)
6089 return err;
6090 }
6091
6092 if (pred == 1) {
6093 /* Only follow the goto, ignore fall-through. If needed, push
6094 * the fall-through branch for simulation under speculative
6095 * execution.
6096 */
> 6097 if (!env->bypass_spec_v1 &&
6098 !sanitize_speculative_path(env, insn, *insn_idx + 1,
6099 *insn_idx))
6100 return -EFAULT;
6101 *insn_idx += insn->off;
6102 return 0;
6103 } else if (pred == 0) {
6104 /* Only follow the fall-through branch, since that's where the
6105 * program will go. If needed, push the goto branch for
6106 * simulation under speculative execution.
6107 */
6108 if (!env->bypass_spec_v1 &&
6109 !sanitize_speculative_path(env, insn,
6110 *insn_idx + insn->off + 1,
6111 *insn_idx))
6112 return -EFAULT;
6113 return 0;
6114 }
6115
6116 other_branch = push_stack(env, *insn_idx + insn->off + 1, *insn_idx,
6117 false);
6118 if (!other_branch)
6119 return -EFAULT;
6120 other_branch_regs = other_branch->frame[other_branch->curframe]->regs;
6121
6122 /* detect if we are comparing against a constant value so we can adjust
6123 * our min/max values for our dst register.
6124 * this is only legit if both are scalars (or pointers to the same
6125 * object, I suppose, but we don't support that right now), because
6126 * otherwise the different base pointers mean the offsets aren't
6127 * comparable.
6128 */
6129 if (BPF_SRC(insn->code) == BPF_X) {
6130 struct bpf_reg_state *src_reg = ®s[insn->src_reg];
6131 struct bpf_reg_state lo_reg0 = *dst_reg;
6132 struct bpf_reg_state lo_reg1 = *src_reg;
6133 struct bpf_reg_state *src_lo, *dst_lo;
6134
6135 dst_lo = &lo_reg0;
6136 src_lo = &lo_reg1;
6137 coerce_reg_to_size(dst_lo, 4);
6138 coerce_reg_to_size(src_lo, 4);
6139
6140 if (dst_reg->type == SCALAR_VALUE &&
6141 src_reg->type == SCALAR_VALUE) {
6142 if (tnum_is_const(src_reg->var_off) ||
6143 (is_jmp32 && tnum_is_const(src_lo->var_off)))
6144 reg_set_min_max(&other_branch_regs[insn->dst_reg],
6145 dst_reg,
6146 is_jmp32
6147 ? src_lo->var_off.value
6148 : src_reg->var_off.value,
6149 opcode, is_jmp32);
6150 else if (tnum_is_const(dst_reg->var_off) ||
6151 (is_jmp32 && tnum_is_const(dst_lo->var_off)))
6152 reg_set_min_max_inv(&other_branch_regs[insn->src_reg],
6153 src_reg,
6154 is_jmp32
6155 ? dst_lo->var_off.value
6156 : dst_reg->var_off.value,
6157 opcode, is_jmp32);
6158 else if (!is_jmp32 &&
6159 (opcode == BPF_JEQ || opcode == BPF_JNE))
6160 /* Comparing for equality, we can combine knowledge */
6161 reg_combine_min_max(&other_branch_regs[insn->src_reg],
6162 &other_branch_regs[insn->dst_reg],
6163 src_reg, dst_reg, opcode);
6164 }
6165 } else if (dst_reg->type == SCALAR_VALUE) {
6166 reg_set_min_max(&other_branch_regs[insn->dst_reg],
6167 dst_reg, insn->imm, opcode, is_jmp32);
6168 }
6169
6170 /* detect if R == 0 where R is returned from bpf_map_lookup_elem().
6171 * NOTE: these optimizations below are related with pointer comparison
6172 * which will never be JMP32.
6173 */
6174 if (!is_jmp32 && BPF_SRC(insn->code) == BPF_K &&
6175 insn->imm == 0 && (opcode == BPF_JEQ || opcode == BPF_JNE) &&
6176 reg_type_may_be_null(dst_reg->type)) {
6177 /* Mark all identical registers in each branch as either
6178 * safe or unknown depending R == 0 or R != 0 conditional.
6179 */
6180 mark_ptr_or_null_regs(this_branch, insn->dst_reg,
6181 opcode == BPF_JNE);
6182 mark_ptr_or_null_regs(other_branch, insn->dst_reg,
6183 opcode == BPF_JEQ);
6184 } else if (!try_match_pkt_pointers(insn, dst_reg, ®s[insn->src_reg],
6185 this_branch, other_branch) &&
6186 is_pointer_value(env, insn->dst_reg)) {
6187 verbose(env, "R%d pointer comparison prohibited\n",
6188 insn->dst_reg);
6189 return -EACCES;
6190 }
6191 if (env->log.level & BPF_LOG_LEVEL)
6192 print_verifier_state(env, this_branch->frame[this_branch->curframe]);
6193 return 0;
6194 }
6195
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 3 months
[sashal-linux-stable:pending-4.19 46/61] net/ipv4/ip_input.c:328:10: error: implicit declaration of function 'INDIRECT_CALL_2'
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/sashal/linux-stable.git pending-4.19
head: da0ab6f9b4814a4a16e1999273d7dbd1a348314b
commit: 56335d9a0cf022794203699503e5fd63176210b4 [46/61] net: use indirect calls helpers at early demux stage
config: x86_64-randconfig-a002-20210620 (attached as .config)
compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project d1baf2895467735ab14f4b3415fce204c0cc8e7f)
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 x86_64 cross compiling tool for clang build
# apt-get install binutils-x86-64-linux-gnu
# https://git.kernel.org/pub/scm/linux/kernel/git/sashal/linux-stable.git/c...
git remote add sashal-linux-stable https://git.kernel.org/pub/scm/linux/kernel/git/sashal/linux-stable.git
git fetch --no-tags sashal-linux-stable pending-4.19
git checkout 56335d9a0cf022794203699503e5fd63176210b4
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All error/warnings (new ones prefixed by >>):
>> net/ipv4/ip_input.c:309:1: warning: declaration specifier missing, defaulting to 'int'
INDIRECT_CALLABLE_DECLARE(int udp_v4_early_demux(struct sk_buff *));
^
int
net/ipv4/ip_input.c:310:1: warning: declaration specifier missing, defaulting to 'int'
INDIRECT_CALLABLE_DECLARE(int tcp_v4_early_demux(struct sk_buff *));
^
int
>> net/ipv4/ip_input.c:328:10: error: implicit declaration of function 'INDIRECT_CALL_2' [-Werror,-Wimplicit-function-declaration]
err = INDIRECT_CALL_2(edemux, tcp_v4_early_demux,
^
>> net/ipv4/ip_input.c:328:34: error: use of undeclared identifier 'tcp_v4_early_demux'
err = INDIRECT_CALL_2(edemux, tcp_v4_early_demux,
^
>> net/ipv4/ip_input.c:329:12: error: use of undeclared identifier 'udp_v4_early_demux'
udp_v4_early_demux, skb);
^
2 warnings and 3 errors generated.
--
>> net/ipv6/ip6_input.c:50:1: warning: declaration specifier missing, defaulting to 'int'
INDIRECT_CALLABLE_DECLARE(void udp_v6_early_demux(struct sk_buff *));
^
int
net/ipv6/ip6_input.c:51:1: warning: declaration specifier missing, defaulting to 'int'
INDIRECT_CALLABLE_DECLARE(void tcp_v6_early_demux(struct sk_buff *));
^
int
>> net/ipv6/ip6_input.c:62:4: error: implicit declaration of function 'INDIRECT_CALL_2' [-Werror,-Wimplicit-function-declaration]
INDIRECT_CALL_2(edemux, tcp_v6_early_demux,
^
>> net/ipv6/ip6_input.c:62:28: error: use of undeclared identifier 'tcp_v6_early_demux'
INDIRECT_CALL_2(edemux, tcp_v6_early_demux,
^
>> net/ipv6/ip6_input.c:63:6: error: use of undeclared identifier 'udp_v6_early_demux'
udp_v6_early_demux, skb);
^
2 warnings and 3 errors generated.
--
>> net/ipv6/udp.c:915:1: error: unknown type name 'INDIRECT_CALLABLE_SCOPE'
INDIRECT_CALLABLE_SCOPE void udp_v6_early_demux(struct sk_buff *skb)
^
>> net/ipv6/udp.c:926:3: error: non-void function 'udp_v6_early_demux' should return a value [-Wreturn-type]
return;
^
net/ipv6/udp.c:936:3: error: non-void function 'udp_v6_early_demux' should return a value [-Wreturn-type]
return;
^
net/ipv6/udp.c:939:3: error: non-void function 'udp_v6_early_demux' should return a value [-Wreturn-type]
return;
^
4 errors generated.
--
>> net/ipv6/tcp_ipv6.c:1646:1: error: unknown type name 'INDIRECT_CALLABLE_SCOPE'
INDIRECT_CALLABLE_SCOPE void tcp_v6_early_demux(struct sk_buff *skb)
^
>> net/ipv6/tcp_ipv6.c:1653:3: error: non-void function 'tcp_v6_early_demux' should return a value [-Wreturn-type]
return;
^
net/ipv6/tcp_ipv6.c:1656:3: error: non-void function 'tcp_v6_early_demux' should return a value [-Wreturn-type]
return;
^
net/ipv6/tcp_ipv6.c:1662:3: error: non-void function 'tcp_v6_early_demux' should return a value [-Wreturn-type]
return;
^
4 errors generated.
vim +/INDIRECT_CALL_2 +328 net/ipv4/ip_input.c
308
> 309 INDIRECT_CALLABLE_DECLARE(int udp_v4_early_demux(struct sk_buff *));
310 INDIRECT_CALLABLE_DECLARE(int tcp_v4_early_demux(struct sk_buff *));
311 static int ip_rcv_finish_core(struct net *net, struct sock *sk,
312 struct sk_buff *skb, struct net_device *dev)
313 {
314 const struct iphdr *iph = ip_hdr(skb);
315 int (*edemux)(struct sk_buff *skb);
316 struct rtable *rt;
317 int err;
318
319 if (net->ipv4.sysctl_ip_early_demux &&
320 !skb_dst(skb) &&
321 !skb->sk &&
322 !ip_is_fragment(iph)) {
323 const struct net_protocol *ipprot;
324 int protocol = iph->protocol;
325
326 ipprot = rcu_dereference(inet_protos[protocol]);
327 if (ipprot && (edemux = READ_ONCE(ipprot->early_demux))) {
> 328 err = INDIRECT_CALL_2(edemux, tcp_v4_early_demux,
> 329 udp_v4_early_demux, skb);
330 if (unlikely(err))
331 goto drop_error;
332 /* must reload iph, skb->head might have changed */
333 iph = ip_hdr(skb);
334 }
335 }
336
337 /*
338 * Initialise the virtual path cache for the packet. It describes
339 * how the packet travels inside Linux networking.
340 */
341 if (!skb_valid_dst(skb)) {
342 err = ip_route_input_noref(skb, iph->daddr, iph->saddr,
343 iph->tos, dev);
344 if (unlikely(err))
345 goto drop_error;
346 }
347
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 3 months
[sashal-linux-stable:pending-5.4 19/50] drivers/net/ethernet/mellanox/mlx5/core/steering/mlx5dr.h:116:42: error: 'struct mlx5_ifc_flow_table_prop_layout_bits' has no member named 'sw_owner_v2'; did you mean 'sw_owner'?
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/sashal/linux-stable.git pending-5.4
head: 830a1d62935d74cfbfdbf6f806932fbcebf8dfe7
commit: 5bc25e181725fbd9680535ead2a893c44e254b11 [19/50] net/mlx5: DR, Allow SW steering for sw_owner_v2 devices
config: arc-allyesconfig (attached as .config)
compiler: arceb-elf-gcc (GCC) 9.3.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/sashal/linux-stable.git/c...
git remote add sashal-linux-stable https://git.kernel.org/pub/scm/linux/kernel/git/sashal/linux-stable.git
git fetch --no-tags sashal-linux-stable pending-5.4
git checkout 5bc25e181725fbd9680535ead2a893c44e254b11
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=arc
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 >>):
In file included from include/linux/byteorder/big_endian.h:5,
from arch/arc/include/uapi/asm/byteorder.h:14,
from include/asm-generic/bitops/le.h:6,
from arch/arc/include/asm/bitops.h:429,
from include/linux/bitops.h:26,
from include/linux/kernel.h:12,
from include/linux/list.h:9,
from include/linux/wait.h:7,
from include/linux/wait_bit.h:8,
from include/linux/fs.h:6,
from include/linux/highmem.h:5,
from drivers/net/ethernet/mellanox/mlx5/core/main.c:33:
drivers/net/ethernet/mellanox/mlx5/core/steering/mlx5dr.h: In function 'mlx5dr_is_supported':
>> drivers/net/ethernet/mellanox/mlx5/core/steering/mlx5dr.h:116:42: error: 'struct mlx5_ifc_flow_table_prop_layout_bits' has no member named 'sw_owner_v2'; did you mean 'sw_owner'?
116 | (MLX5_CAP_ESW_FLOWTABLE_FDB(dev, sw_owner_v2) &&
| ^~~~~~~~~~~
include/uapi/linux/byteorder/big_endian.h:40:51: note: in definition of macro '__be32_to_cpu'
40 | #define __be32_to_cpu(x) ((__force __u32)(__be32)(x))
| ^
include/linux/stddef.h:17:32: note: in expansion of macro '__compiler_offsetof'
17 | #define offsetof(TYPE, MEMBER) __compiler_offsetof(TYPE, MEMBER)
| ^~~~~~~~~~~~~~~~~~~
include/linux/mlx5/device.h:51:35: note: in expansion of macro 'offsetof'
51 | #define __mlx5_bit_off(typ, fld) (offsetof(struct mlx5_ifc_##typ##_bits, fld))
| ^~~~~~~~
include/linux/mlx5/device.h:53:34: note: in expansion of macro '__mlx5_bit_off'
53 | #define __mlx5_dw_off(typ, fld) (__mlx5_bit_off(typ, fld) / 32)
| ^~~~~~~~~~~~~~
include/linux/mlx5/device.h:96:1: note: in expansion of macro '__mlx5_dw_off'
96 | __mlx5_dw_off(typ, fld))) >> __mlx5_dw_bit_off(typ, fld)) & \
| ^~~~~~~~~~~~~
include/linux/mlx5/device.h:1211:2: note: in expansion of macro 'MLX5_GET'
1211 | MLX5_GET(flow_table_eswitch_cap, \
| ^~~~~~~~
include/linux/mlx5/device.h:1219:2: note: in expansion of macro 'MLX5_CAP_ESW_FLOWTABLE'
1219 | MLX5_CAP_ESW_FLOWTABLE(mdev, flow_table_properties_nic_esw_fdb.cap)
| ^~~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/mellanox/mlx5/core/steering/mlx5dr.h:116:10: note: in expansion of macro 'MLX5_CAP_ESW_FLOWTABLE_FDB'
116 | (MLX5_CAP_ESW_FLOWTABLE_FDB(dev, sw_owner_v2) &&
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from include/linux/mlx5/driver.h:52,
from drivers/net/ethernet/mellanox/mlx5/core/main.c:43:
>> drivers/net/ethernet/mellanox/mlx5/core/steering/mlx5dr.h:116:42: error: 'struct mlx5_ifc_flow_table_prop_layout_bits' has no member named 'sw_owner_v2'; did you mean 'sw_owner'?
116 | (MLX5_CAP_ESW_FLOWTABLE_FDB(dev, sw_owner_v2) &&
| ^~~~~~~~~~~
include/linux/mlx5/device.h:50:59: note: in definition of macro '__mlx5_bit_sz'
50 | #define __mlx5_bit_sz(typ, fld) sizeof(__mlx5_nullp(typ)->fld)
| ^~~
include/linux/mlx5/device.h:96:30: note: in expansion of macro '__mlx5_dw_bit_off'
96 | __mlx5_dw_off(typ, fld))) >> __mlx5_dw_bit_off(typ, fld)) & \
| ^~~~~~~~~~~~~~~~~
include/linux/mlx5/device.h:1211:2: note: in expansion of macro 'MLX5_GET'
1211 | MLX5_GET(flow_table_eswitch_cap, \
| ^~~~~~~~
include/linux/mlx5/device.h:1219:2: note: in expansion of macro 'MLX5_CAP_ESW_FLOWTABLE'
1219 | MLX5_CAP_ESW_FLOWTABLE(mdev, flow_table_properties_nic_esw_fdb.cap)
| ^~~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/mellanox/mlx5/core/steering/mlx5dr.h:116:10: note: in expansion of macro 'MLX5_CAP_ESW_FLOWTABLE_FDB'
116 | (MLX5_CAP_ESW_FLOWTABLE_FDB(dev, sw_owner_v2) &&
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from <command-line>:
>> drivers/net/ethernet/mellanox/mlx5/core/steering/mlx5dr.h:116:42: error: 'struct mlx5_ifc_flow_table_prop_layout_bits' has no member named 'sw_owner_v2'; did you mean 'sw_owner'?
116 | (MLX5_CAP_ESW_FLOWTABLE_FDB(dev, sw_owner_v2) &&
| ^~~~~~~~~~~
include/linux/compiler_types.h:133:57: note: in definition of macro '__compiler_offsetof'
133 | #define __compiler_offsetof(a, b) __builtin_offsetof(a, b)
| ^
include/linux/mlx5/device.h:51:35: note: in expansion of macro 'offsetof'
51 | #define __mlx5_bit_off(typ, fld) (offsetof(struct mlx5_ifc_##typ##_bits, fld))
| ^~~~~~~~
include/linux/mlx5/device.h:56:70: note: in expansion of macro '__mlx5_bit_off'
56 | #define __mlx5_dw_bit_off(typ, fld) (32 - __mlx5_bit_sz(typ, fld) - (__mlx5_bit_off(typ, fld) & 0x1f))
| ^~~~~~~~~~~~~~
include/linux/mlx5/device.h:96:30: note: in expansion of macro '__mlx5_dw_bit_off'
96 | __mlx5_dw_off(typ, fld))) >> __mlx5_dw_bit_off(typ, fld)) & \
| ^~~~~~~~~~~~~~~~~
include/linux/mlx5/device.h:1211:2: note: in expansion of macro 'MLX5_GET'
1211 | MLX5_GET(flow_table_eswitch_cap, \
| ^~~~~~~~
include/linux/mlx5/device.h:1219:2: note: in expansion of macro 'MLX5_CAP_ESW_FLOWTABLE'
1219 | MLX5_CAP_ESW_FLOWTABLE(mdev, flow_table_properties_nic_esw_fdb.cap)
| ^~~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/mellanox/mlx5/core/steering/mlx5dr.h:116:10: note: in expansion of macro 'MLX5_CAP_ESW_FLOWTABLE_FDB'
116 | (MLX5_CAP_ESW_FLOWTABLE_FDB(dev, sw_owner_v2) &&
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from include/linux/mlx5/driver.h:52,
from drivers/net/ethernet/mellanox/mlx5/core/main.c:43:
>> drivers/net/ethernet/mellanox/mlx5/core/steering/mlx5dr.h:116:42: error: 'struct mlx5_ifc_flow_table_prop_layout_bits' has no member named 'sw_owner_v2'; did you mean 'sw_owner'?
116 | (MLX5_CAP_ESW_FLOWTABLE_FDB(dev, sw_owner_v2) &&
| ^~~~~~~~~~~
include/linux/mlx5/device.h:50:59: note: in definition of macro '__mlx5_bit_sz'
50 | #define __mlx5_bit_sz(typ, fld) sizeof(__mlx5_nullp(typ)->fld)
| ^~~
include/linux/mlx5/device.h:97:1: note: in expansion of macro '__mlx5_mask'
97 | __mlx5_mask(typ, fld))
| ^~~~~~~~~~~
include/linux/mlx5/device.h:1211:2: note: in expansion of macro 'MLX5_GET'
1211 | MLX5_GET(flow_table_eswitch_cap, \
| ^~~~~~~~
include/linux/mlx5/device.h:1219:2: note: in expansion of macro 'MLX5_CAP_ESW_FLOWTABLE'
1219 | MLX5_CAP_ESW_FLOWTABLE(mdev, flow_table_properties_nic_esw_fdb.cap)
| ^~~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/mellanox/mlx5/core/steering/mlx5dr.h:116:10: note: in expansion of macro 'MLX5_CAP_ESW_FLOWTABLE_FDB'
116 | (MLX5_CAP_ESW_FLOWTABLE_FDB(dev, sw_owner_v2) &&
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
--
In file included from include/linux/byteorder/big_endian.h:5,
from arch/arc/include/uapi/asm/byteorder.h:14,
from include/asm-generic/bitops/le.h:6,
from arch/arc/include/asm/bitops.h:429,
from include/linux/bitops.h:26,
from include/linux/kernel.h:12,
from include/linux/list.h:9,
from include/linux/smp.h:12,
from include/linux/tracepoint.h:15,
from drivers/net/ethernet/mellanox/mlx5/core/diag/fs_tracepoint.h:36,
from drivers/net/ethernet/mellanox/mlx5/core/diag/fs_tracepoint.c:35:
drivers/net/ethernet/mellanox/mlx5/core/steering/mlx5dr.h: In function 'mlx5dr_is_supported':
>> drivers/net/ethernet/mellanox/mlx5/core/steering/mlx5dr.h:116:42: error: 'struct mlx5_ifc_flow_table_prop_layout_bits' has no member named 'sw_owner_v2'; did you mean 'sw_owner'?
116 | (MLX5_CAP_ESW_FLOWTABLE_FDB(dev, sw_owner_v2) &&
| ^~~~~~~~~~~
include/uapi/linux/byteorder/big_endian.h:40:51: note: in definition of macro '__be32_to_cpu'
40 | #define __be32_to_cpu(x) ((__force __u32)(__be32)(x))
| ^
include/linux/stddef.h:17:32: note: in expansion of macro '__compiler_offsetof'
17 | #define offsetof(TYPE, MEMBER) __compiler_offsetof(TYPE, MEMBER)
| ^~~~~~~~~~~~~~~~~~~
include/linux/mlx5/device.h:51:35: note: in expansion of macro 'offsetof'
51 | #define __mlx5_bit_off(typ, fld) (offsetof(struct mlx5_ifc_##typ##_bits, fld))
| ^~~~~~~~
include/linux/mlx5/device.h:53:34: note: in expansion of macro '__mlx5_bit_off'
53 | #define __mlx5_dw_off(typ, fld) (__mlx5_bit_off(typ, fld) / 32)
| ^~~~~~~~~~~~~~
include/linux/mlx5/device.h:96:1: note: in expansion of macro '__mlx5_dw_off'
96 | __mlx5_dw_off(typ, fld))) >> __mlx5_dw_bit_off(typ, fld)) & \
| ^~~~~~~~~~~~~
include/linux/mlx5/device.h:1211:2: note: in expansion of macro 'MLX5_GET'
1211 | MLX5_GET(flow_table_eswitch_cap, \
| ^~~~~~~~
include/linux/mlx5/device.h:1219:2: note: in expansion of macro 'MLX5_CAP_ESW_FLOWTABLE'
1219 | MLX5_CAP_ESW_FLOWTABLE(mdev, flow_table_properties_nic_esw_fdb.cap)
| ^~~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/mellanox/mlx5/core/steering/mlx5dr.h:116:10: note: in expansion of macro 'MLX5_CAP_ESW_FLOWTABLE_FDB'
116 | (MLX5_CAP_ESW_FLOWTABLE_FDB(dev, sw_owner_v2) &&
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from include/linux/mlx5/driver.h:52,
from include/linux/mlx5/fs.h:36,
from drivers/net/ethernet/mellanox/mlx5/core/diag/../fs_core.h:37,
from drivers/net/ethernet/mellanox/mlx5/core/diag/fs_tracepoint.h:38,
from drivers/net/ethernet/mellanox/mlx5/core/diag/fs_tracepoint.c:35:
>> drivers/net/ethernet/mellanox/mlx5/core/steering/mlx5dr.h:116:42: error: 'struct mlx5_ifc_flow_table_prop_layout_bits' has no member named 'sw_owner_v2'; did you mean 'sw_owner'?
116 | (MLX5_CAP_ESW_FLOWTABLE_FDB(dev, sw_owner_v2) &&
| ^~~~~~~~~~~
include/linux/mlx5/device.h:50:59: note: in definition of macro '__mlx5_bit_sz'
50 | #define __mlx5_bit_sz(typ, fld) sizeof(__mlx5_nullp(typ)->fld)
| ^~~
include/linux/mlx5/device.h:96:30: note: in expansion of macro '__mlx5_dw_bit_off'
96 | __mlx5_dw_off(typ, fld))) >> __mlx5_dw_bit_off(typ, fld)) & \
| ^~~~~~~~~~~~~~~~~
include/linux/mlx5/device.h:1211:2: note: in expansion of macro 'MLX5_GET'
1211 | MLX5_GET(flow_table_eswitch_cap, \
| ^~~~~~~~
include/linux/mlx5/device.h:1219:2: note: in expansion of macro 'MLX5_CAP_ESW_FLOWTABLE'
1219 | MLX5_CAP_ESW_FLOWTABLE(mdev, flow_table_properties_nic_esw_fdb.cap)
| ^~~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/mellanox/mlx5/core/steering/mlx5dr.h:116:10: note: in expansion of macro 'MLX5_CAP_ESW_FLOWTABLE_FDB'
116 | (MLX5_CAP_ESW_FLOWTABLE_FDB(dev, sw_owner_v2) &&
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from <command-line>:
>> drivers/net/ethernet/mellanox/mlx5/core/steering/mlx5dr.h:116:42: error: 'struct mlx5_ifc_flow_table_prop_layout_bits' has no member named 'sw_owner_v2'; did you mean 'sw_owner'?
116 | (MLX5_CAP_ESW_FLOWTABLE_FDB(dev, sw_owner_v2) &&
| ^~~~~~~~~~~
include/linux/compiler_types.h:133:57: note: in definition of macro '__compiler_offsetof'
133 | #define __compiler_offsetof(a, b) __builtin_offsetof(a, b)
| ^
include/linux/mlx5/device.h:51:35: note: in expansion of macro 'offsetof'
51 | #define __mlx5_bit_off(typ, fld) (offsetof(struct mlx5_ifc_##typ##_bits, fld))
| ^~~~~~~~
include/linux/mlx5/device.h:56:70: note: in expansion of macro '__mlx5_bit_off'
56 | #define __mlx5_dw_bit_off(typ, fld) (32 - __mlx5_bit_sz(typ, fld) - (__mlx5_bit_off(typ, fld) & 0x1f))
| ^~~~~~~~~~~~~~
include/linux/mlx5/device.h:96:30: note: in expansion of macro '__mlx5_dw_bit_off'
96 | __mlx5_dw_off(typ, fld))) >> __mlx5_dw_bit_off(typ, fld)) & \
| ^~~~~~~~~~~~~~~~~
include/linux/mlx5/device.h:1211:2: note: in expansion of macro 'MLX5_GET'
1211 | MLX5_GET(flow_table_eswitch_cap, \
| ^~~~~~~~
include/linux/mlx5/device.h:1219:2: note: in expansion of macro 'MLX5_CAP_ESW_FLOWTABLE'
1219 | MLX5_CAP_ESW_FLOWTABLE(mdev, flow_table_properties_nic_esw_fdb.cap)
| ^~~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/mellanox/mlx5/core/steering/mlx5dr.h:116:10: note: in expansion of macro 'MLX5_CAP_ESW_FLOWTABLE_FDB'
116 | (MLX5_CAP_ESW_FLOWTABLE_FDB(dev, sw_owner_v2) &&
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from include/linux/mlx5/driver.h:52,
from include/linux/mlx5/fs.h:36,
from drivers/net/ethernet/mellanox/mlx5/core/diag/../fs_core.h:37,
from drivers/net/ethernet/mellanox/mlx5/core/diag/fs_tracepoint.h:38,
from drivers/net/ethernet/mellanox/mlx5/core/diag/fs_tracepoint.c:35:
>> drivers/net/ethernet/mellanox/mlx5/core/steering/mlx5dr.h:116:42: error: 'struct mlx5_ifc_flow_table_prop_layout_bits' has no member named 'sw_owner_v2'; did you mean 'sw_owner'?
116 | (MLX5_CAP_ESW_FLOWTABLE_FDB(dev, sw_owner_v2) &&
| ^~~~~~~~~~~
include/linux/mlx5/device.h:50:59: note: in definition of macro '__mlx5_bit_sz'
50 | #define __mlx5_bit_sz(typ, fld) sizeof(__mlx5_nullp(typ)->fld)
| ^~~
include/linux/mlx5/device.h:97:1: note: in expansion of macro '__mlx5_mask'
97 | __mlx5_mask(typ, fld))
| ^~~~~~~~~~~
include/linux/mlx5/device.h:1211:2: note: in expansion of macro 'MLX5_GET'
1211 | MLX5_GET(flow_table_eswitch_cap, \
| ^~~~~~~~
include/linux/mlx5/device.h:1219:2: note: in expansion of macro 'MLX5_CAP_ESW_FLOWTABLE'
1219 | MLX5_CAP_ESW_FLOWTABLE(mdev, flow_table_properties_nic_esw_fdb.cap)
| ^~~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/mellanox/mlx5/core/steering/mlx5dr.h:116:10: note: in expansion of macro 'MLX5_CAP_ESW_FLOWTABLE_FDB'
116 | (MLX5_CAP_ESW_FLOWTABLE_FDB(dev, sw_owner_v2) &&
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from include/linux/perf_event.h:25,
from include/linux/trace_events.h:10,
from include/trace/trace_events.h:20,
from include/trace/define_trace.h:102,
from drivers/net/ethernet/mellanox/mlx5/core/diag/fs_tracepoint.h:323,
from drivers/net/ethernet/mellanox/mlx5/core/diag/fs_tracepoint.c:35:
At top level:
arch/arc/include/asm/perf_event.h:126:23: warning: 'arc_pmu_cache_map' defined but not used [-Wunused-const-variable=]
126 | static const unsigned arc_pmu_cache_map[C(MAX)][C(OP_MAX)][C(RESULT_MAX)] = {
| ^~~~~~~~~~~~~~~~~
arch/arc/include/asm/perf_event.h:91:27: warning: 'arc_pmu_ev_hw_map' defined but not used [-Wunused-const-variable=]
91 | static const char * const arc_pmu_ev_hw_map[] = {
| ^~~~~~~~~~~~~~~~~
--
In file included from include/linux/byteorder/big_endian.h:5,
from arch/arc/include/uapi/asm/byteorder.h:14,
from include/asm-generic/bitops/le.h:6,
from arch/arc/include/asm/bitops.h:429,
from include/linux/bitops.h:26,
from include/linux/kernel.h:12,
from include/linux/mlx5/driver.h:36,
from drivers/net/ethernet/mellanox/mlx5/core/steering/dr_types.h:7,
from drivers/net/ethernet/mellanox/mlx5/core/steering/dr_cmd.c:4:
drivers/net/ethernet/mellanox/mlx5/core/steering/mlx5dr.h: In function 'mlx5dr_is_supported':
>> drivers/net/ethernet/mellanox/mlx5/core/steering/mlx5dr.h:116:42: error: 'struct mlx5_ifc_flow_table_prop_layout_bits' has no member named 'sw_owner_v2'; did you mean 'sw_owner'?
116 | (MLX5_CAP_ESW_FLOWTABLE_FDB(dev, sw_owner_v2) &&
| ^~~~~~~~~~~
include/uapi/linux/byteorder/big_endian.h:40:51: note: in definition of macro '__be32_to_cpu'
40 | #define __be32_to_cpu(x) ((__force __u32)(__be32)(x))
| ^
include/linux/stddef.h:17:32: note: in expansion of macro '__compiler_offsetof'
17 | #define offsetof(TYPE, MEMBER) __compiler_offsetof(TYPE, MEMBER)
| ^~~~~~~~~~~~~~~~~~~
include/linux/mlx5/device.h:51:35: note: in expansion of macro 'offsetof'
51 | #define __mlx5_bit_off(typ, fld) (offsetof(struct mlx5_ifc_##typ##_bits, fld))
| ^~~~~~~~
include/linux/mlx5/device.h:53:34: note: in expansion of macro '__mlx5_bit_off'
53 | #define __mlx5_dw_off(typ, fld) (__mlx5_bit_off(typ, fld) / 32)
| ^~~~~~~~~~~~~~
include/linux/mlx5/device.h:96:1: note: in expansion of macro '__mlx5_dw_off'
96 | __mlx5_dw_off(typ, fld))) >> __mlx5_dw_bit_off(typ, fld)) & \
| ^~~~~~~~~~~~~
include/linux/mlx5/device.h:1211:2: note: in expansion of macro 'MLX5_GET'
1211 | MLX5_GET(flow_table_eswitch_cap, \
| ^~~~~~~~
include/linux/mlx5/device.h:1219:2: note: in expansion of macro 'MLX5_CAP_ESW_FLOWTABLE'
1219 | MLX5_CAP_ESW_FLOWTABLE(mdev, flow_table_properties_nic_esw_fdb.cap)
| ^~~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/mellanox/mlx5/core/steering/mlx5dr.h:116:10: note: in expansion of macro 'MLX5_CAP_ESW_FLOWTABLE_FDB'
116 | (MLX5_CAP_ESW_FLOWTABLE_FDB(dev, sw_owner_v2) &&
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from include/linux/mlx5/driver.h:52,
from drivers/net/ethernet/mellanox/mlx5/core/steering/dr_types.h:7,
from drivers/net/ethernet/mellanox/mlx5/core/steering/dr_cmd.c:4:
>> drivers/net/ethernet/mellanox/mlx5/core/steering/mlx5dr.h:116:42: error: 'struct mlx5_ifc_flow_table_prop_layout_bits' has no member named 'sw_owner_v2'; did you mean 'sw_owner'?
116 | (MLX5_CAP_ESW_FLOWTABLE_FDB(dev, sw_owner_v2) &&
| ^~~~~~~~~~~
include/linux/mlx5/device.h:50:59: note: in definition of macro '__mlx5_bit_sz'
50 | #define __mlx5_bit_sz(typ, fld) sizeof(__mlx5_nullp(typ)->fld)
| ^~~
include/linux/mlx5/device.h:96:30: note: in expansion of macro '__mlx5_dw_bit_off'
96 | __mlx5_dw_off(typ, fld))) >> __mlx5_dw_bit_off(typ, fld)) & \
| ^~~~~~~~~~~~~~~~~
include/linux/mlx5/device.h:1211:2: note: in expansion of macro 'MLX5_GET'
1211 | MLX5_GET(flow_table_eswitch_cap, \
| ^~~~~~~~
include/linux/mlx5/device.h:1219:2: note: in expansion of macro 'MLX5_CAP_ESW_FLOWTABLE'
1219 | MLX5_CAP_ESW_FLOWTABLE(mdev, flow_table_properties_nic_esw_fdb.cap)
| ^~~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/mellanox/mlx5/core/steering/mlx5dr.h:116:10: note: in expansion of macro 'MLX5_CAP_ESW_FLOWTABLE_FDB'
116 | (MLX5_CAP_ESW_FLOWTABLE_FDB(dev, sw_owner_v2) &&
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from <command-line>:
>> drivers/net/ethernet/mellanox/mlx5/core/steering/mlx5dr.h:116:42: error: 'struct mlx5_ifc_flow_table_prop_layout_bits' has no member named 'sw_owner_v2'; did you mean 'sw_owner'?
116 | (MLX5_CAP_ESW_FLOWTABLE_FDB(dev, sw_owner_v2) &&
| ^~~~~~~~~~~
include/linux/compiler_types.h:133:57: note: in definition of macro '__compiler_offsetof'
133 | #define __compiler_offsetof(a, b) __builtin_offsetof(a, b)
| ^
include/linux/mlx5/device.h:51:35: note: in expansion of macro 'offsetof'
51 | #define __mlx5_bit_off(typ, fld) (offsetof(struct mlx5_ifc_##typ##_bits, fld))
| ^~~~~~~~
include/linux/mlx5/device.h:56:70: note: in expansion of macro '__mlx5_bit_off'
56 | #define __mlx5_dw_bit_off(typ, fld) (32 - __mlx5_bit_sz(typ, fld) - (__mlx5_bit_off(typ, fld) & 0x1f))
| ^~~~~~~~~~~~~~
include/linux/mlx5/device.h:96:30: note: in expansion of macro '__mlx5_dw_bit_off'
96 | __mlx5_dw_off(typ, fld))) >> __mlx5_dw_bit_off(typ, fld)) & \
| ^~~~~~~~~~~~~~~~~
include/linux/mlx5/device.h:1211:2: note: in expansion of macro 'MLX5_GET'
1211 | MLX5_GET(flow_table_eswitch_cap, \
| ^~~~~~~~
include/linux/mlx5/device.h:1219:2: note: in expansion of macro 'MLX5_CAP_ESW_FLOWTABLE'
1219 | MLX5_CAP_ESW_FLOWTABLE(mdev, flow_table_properties_nic_esw_fdb.cap)
| ^~~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/mellanox/mlx5/core/steering/mlx5dr.h:116:10: note: in expansion of macro 'MLX5_CAP_ESW_FLOWTABLE_FDB'
116 | (MLX5_CAP_ESW_FLOWTABLE_FDB(dev, sw_owner_v2) &&
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from include/linux/mlx5/driver.h:52,
from drivers/net/ethernet/mellanox/mlx5/core/steering/dr_types.h:7,
from drivers/net/ethernet/mellanox/mlx5/core/steering/dr_cmd.c:4:
>> drivers/net/ethernet/mellanox/mlx5/core/steering/mlx5dr.h:116:42: error: 'struct mlx5_ifc_flow_table_prop_layout_bits' has no member named 'sw_owner_v2'; did you mean 'sw_owner'?
116 | (MLX5_CAP_ESW_FLOWTABLE_FDB(dev, sw_owner_v2) &&
| ^~~~~~~~~~~
include/linux/mlx5/device.h:50:59: note: in definition of macro '__mlx5_bit_sz'
50 | #define __mlx5_bit_sz(typ, fld) sizeof(__mlx5_nullp(typ)->fld)
| ^~~
include/linux/mlx5/device.h:97:1: note: in expansion of macro '__mlx5_mask'
97 | __mlx5_mask(typ, fld))
| ^~~~~~~~~~~
include/linux/mlx5/device.h:1211:2: note: in expansion of macro 'MLX5_GET'
1211 | MLX5_GET(flow_table_eswitch_cap, \
| ^~~~~~~~
include/linux/mlx5/device.h:1219:2: note: in expansion of macro 'MLX5_CAP_ESW_FLOWTABLE'
1219 | MLX5_CAP_ESW_FLOWTABLE(mdev, flow_table_properties_nic_esw_fdb.cap)
| ^~~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/mellanox/mlx5/core/steering/mlx5dr.h:116:10: note: in expansion of macro 'MLX5_CAP_ESW_FLOWTABLE_FDB'
116 | (MLX5_CAP_ESW_FLOWTABLE_FDB(dev, sw_owner_v2) &&
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from include/linux/byteorder/big_endian.h:5,
from arch/arc/include/uapi/asm/byteorder.h:14,
from include/asm-generic/bitops/le.h:6,
from arch/arc/include/asm/bitops.h:429,
from include/linux/bitops.h:26,
from include/linux/kernel.h:12,
from include/linux/mlx5/driver.h:36,
from drivers/net/ethernet/mellanox/mlx5/core/steering/dr_types.h:7,
from drivers/net/ethernet/mellanox/mlx5/core/steering/dr_cmd.c:4:
drivers/net/ethernet/mellanox/mlx5/core/steering/dr_cmd.c: In function 'mlx5dr_cmd_query_esw_caps':
>> drivers/net/ethernet/mellanox/mlx5/core/steering/dr_cmd.c:81:55: error: 'struct mlx5_ifc_flow_table_prop_layout_bits' has no member named 'sw_owner_v2'; did you mean 'sw_owner'?
81 | caps->sw_owner_v2 = MLX5_CAP_ESW_FLOWTABLE_FDB(mdev, sw_owner_v2);
| ^~~~~~~~~~~
include/uapi/linux/byteorder/big_endian.h:40:51: note: in definition of macro '__be32_to_cpu'
40 | #define __be32_to_cpu(x) ((__force __u32)(__be32)(x))
| ^
include/linux/stddef.h:17:32: note: in expansion of macro '__compiler_offsetof'
17 | #define offsetof(TYPE, MEMBER) __compiler_offsetof(TYPE, MEMBER)
| ^~~~~~~~~~~~~~~~~~~
include/linux/mlx5/device.h:51:35: note: in expansion of macro 'offsetof'
51 | #define __mlx5_bit_off(typ, fld) (offsetof(struct mlx5_ifc_##typ##_bits, fld))
| ^~~~~~~~
include/linux/mlx5/device.h:53:34: note: in expansion of macro '__mlx5_bit_off'
53 | #define __mlx5_dw_off(typ, fld) (__mlx5_bit_off(typ, fld) / 32)
| ^~~~~~~~~~~~~~
include/linux/mlx5/device.h:96:1: note: in expansion of macro '__mlx5_dw_off'
96 | __mlx5_dw_off(typ, fld))) >> __mlx5_dw_bit_off(typ, fld)) & \
| ^~~~~~~~~~~~~
include/linux/mlx5/device.h:1211:2: note: in expansion of macro 'MLX5_GET'
1211 | MLX5_GET(flow_table_eswitch_cap, \
| ^~~~~~~~
include/linux/mlx5/device.h:1219:2: note: in expansion of macro 'MLX5_CAP_ESW_FLOWTABLE'
1219 | MLX5_CAP_ESW_FLOWTABLE(mdev, flow_table_properties_nic_esw_fdb.cap)
| ^~~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/mellanox/mlx5/core/steering/dr_cmd.c:81:22: note: in expansion of macro 'MLX5_CAP_ESW_FLOWTABLE_FDB'
81 | caps->sw_owner_v2 = MLX5_CAP_ESW_FLOWTABLE_FDB(mdev, sw_owner_v2);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from include/linux/mlx5/driver.h:52,
from drivers/net/ethernet/mellanox/mlx5/core/steering/dr_types.h:7,
from drivers/net/ethernet/mellanox/mlx5/core/steering/dr_cmd.c:4:
>> drivers/net/ethernet/mellanox/mlx5/core/steering/dr_cmd.c:81:55: error: 'struct mlx5_ifc_flow_table_prop_layout_bits' has no member named 'sw_owner_v2'; did you mean 'sw_owner'?
81 | caps->sw_owner_v2 = MLX5_CAP_ESW_FLOWTABLE_FDB(mdev, sw_owner_v2);
| ^~~~~~~~~~~
include/linux/mlx5/device.h:50:59: note: in definition of macro '__mlx5_bit_sz'
50 | #define __mlx5_bit_sz(typ, fld) sizeof(__mlx5_nullp(typ)->fld)
| ^~~
include/linux/mlx5/device.h:96:30: note: in expansion of macro '__mlx5_dw_bit_off'
96 | __mlx5_dw_off(typ, fld))) >> __mlx5_dw_bit_off(typ, fld)) & \
| ^~~~~~~~~~~~~~~~~
include/linux/mlx5/device.h:1211:2: note: in expansion of macro 'MLX5_GET'
1211 | MLX5_GET(flow_table_eswitch_cap, \
| ^~~~~~~~
include/linux/mlx5/device.h:1219:2: note: in expansion of macro 'MLX5_CAP_ESW_FLOWTABLE'
1219 | MLX5_CAP_ESW_FLOWTABLE(mdev, flow_table_properties_nic_esw_fdb.cap)
| ^~~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/mellanox/mlx5/core/steering/dr_cmd.c:81:22: note: in expansion of macro 'MLX5_CAP_ESW_FLOWTABLE_FDB'
81 | caps->sw_owner_v2 = MLX5_CAP_ESW_FLOWTABLE_FDB(mdev, sw_owner_v2);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from <command-line>:
>> drivers/net/ethernet/mellanox/mlx5/core/steering/dr_cmd.c:81:55: error: 'struct mlx5_ifc_flow_table_prop_layout_bits' has no member named 'sw_owner_v2'; did you mean 'sw_owner'?
81 | caps->sw_owner_v2 = MLX5_CAP_ESW_FLOWTABLE_FDB(mdev, sw_owner_v2);
| ^~~~~~~~~~~
include/linux/compiler_types.h:133:57: note: in definition of macro '__compiler_offsetof'
133 | #define __compiler_offsetof(a, b) __builtin_offsetof(a, b)
| ^
include/linux/mlx5/device.h:51:35: note: in expansion of macro 'offsetof'
51 | #define __mlx5_bit_off(typ, fld) (offsetof(struct mlx5_ifc_##typ##_bits, fld))
| ^~~~~~~~
include/linux/mlx5/device.h:56:70: note: in expansion of macro '__mlx5_bit_off'
56 | #define __mlx5_dw_bit_off(typ, fld) (32 - __mlx5_bit_sz(typ, fld) - (__mlx5_bit_off(typ, fld) & 0x1f))
| ^~~~~~~~~~~~~~
include/linux/mlx5/device.h:96:30: note: in expansion of macro '__mlx5_dw_bit_off'
96 | __mlx5_dw_off(typ, fld))) >> __mlx5_dw_bit_off(typ, fld)) & \
| ^~~~~~~~~~~~~~~~~
include/linux/mlx5/device.h:1211:2: note: in expansion of macro 'MLX5_GET'
1211 | MLX5_GET(flow_table_eswitch_cap, \
| ^~~~~~~~
include/linux/mlx5/device.h:1219:2: note: in expansion of macro 'MLX5_CAP_ESW_FLOWTABLE'
1219 | MLX5_CAP_ESW_FLOWTABLE(mdev, flow_table_properties_nic_esw_fdb.cap)
| ^~~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/mellanox/mlx5/core/steering/dr_cmd.c:81:22: note: in expansion of macro 'MLX5_CAP_ESW_FLOWTABLE_FDB'
81 | caps->sw_owner_v2 = MLX5_CAP_ESW_FLOWTABLE_FDB(mdev, sw_owner_v2);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from include/linux/mlx5/driver.h:52,
from drivers/net/ethernet/mellanox/mlx5/core/steering/dr_types.h:7,
from drivers/net/ethernet/mellanox/mlx5/core/steering/dr_cmd.c:4:
>> drivers/net/ethernet/mellanox/mlx5/core/steering/dr_cmd.c:81:55: error: 'struct mlx5_ifc_flow_table_prop_layout_bits' has no member named 'sw_owner_v2'; did you mean 'sw_owner'?
81 | caps->sw_owner_v2 = MLX5_CAP_ESW_FLOWTABLE_FDB(mdev, sw_owner_v2);
| ^~~~~~~~~~~
include/linux/mlx5/device.h:50:59: note: in definition of macro '__mlx5_bit_sz'
50 | #define __mlx5_bit_sz(typ, fld) sizeof(__mlx5_nullp(typ)->fld)
| ^~~
include/linux/mlx5/device.h:97:1: note: in expansion of macro '__mlx5_mask'
97 | __mlx5_mask(typ, fld))
| ^~~~~~~~~~~
include/linux/mlx5/device.h:1211:2: note: in expansion of macro 'MLX5_GET'
1211 | MLX5_GET(flow_table_eswitch_cap, \
| ^~~~~~~~
include/linux/mlx5/device.h:1219:2: note: in expansion of macro 'MLX5_CAP_ESW_FLOWTABLE'
1219 | MLX5_CAP_ESW_FLOWTABLE(mdev, flow_table_properties_nic_esw_fdb.cap)
| ^~~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/mellanox/mlx5/core/steering/dr_cmd.c:81:22: note: in expansion of macro 'MLX5_CAP_ESW_FLOWTABLE_FDB'
81 | caps->sw_owner_v2 = MLX5_CAP_ESW_FLOWTABLE_FDB(mdev, sw_owner_v2);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from include/linux/byteorder/big_endian.h:5,
from arch/arc/include/uapi/asm/byteorder.h:14,
from include/asm-generic/bitops/le.h:6,
from arch/arc/include/asm/bitops.h:429,
from include/linux/bitops.h:26,
from include/linux/kernel.h:12,
from include/linux/mlx5/driver.h:36,
from drivers/net/ethernet/mellanox/mlx5/core/steering/dr_types.h:7,
from drivers/net/ethernet/mellanox/mlx5/core/steering/dr_cmd.c:4:
drivers/net/ethernet/mellanox/mlx5/core/steering/dr_cmd.c: In function 'mlx5dr_cmd_query_device':
drivers/net/ethernet/mellanox/mlx5/core/steering/dr_cmd.c:116:57: error: 'struct mlx5_ifc_flow_table_prop_layout_bits' has no member named 'sw_owner_v2'; did you mean 'sw_owner'?
116 | caps->rx_sw_owner_v2 = MLX5_CAP_FLOWTABLE_NIC_RX(mdev, sw_owner_v2);
| ^~~~~~~~~~~
include/uapi/linux/byteorder/big_endian.h:40:51: note: in definition of macro '__be32_to_cpu'
40 | #define __be32_to_cpu(x) ((__force __u32)(__be32)(x))
| ^
include/linux/stddef.h:17:32: note: in expansion of macro '__compiler_offsetof'
17 | #define offsetof(TYPE, MEMBER) __compiler_offsetof(TYPE, MEMBER)
| ^~~~~~~~~~~~~~~~~~~
include/linux/mlx5/device.h:51:35: note: in expansion of macro 'offsetof'
51 | #define __mlx5_bit_off(typ, fld) (offsetof(struct mlx5_ifc_##typ##_bits, fld))
| ^~~~~~~~
include/linux/mlx5/device.h:53:34: note: in expansion of macro '__mlx5_bit_off'
53 | #define __mlx5_dw_off(typ, fld) (__mlx5_bit_off(typ, fld) / 32)
| ^~~~~~~~~~~~~~
include/linux/mlx5/device.h:96:1: note: in expansion of macro '__mlx5_dw_off'
96 | __mlx5_dw_off(typ, fld))) >> __mlx5_dw_bit_off(typ, fld)) & \
| ^~~~~~~~~~~~~
include/linux/mlx5/device.h:1172:2: note: in expansion of macro 'MLX5_GET'
1172 | MLX5_GET(flow_table_nic_cap, mdev->caps.hca_cur[MLX5_CAP_FLOW_TABLE], cap)
| ^~~~~~~~
include/linux/mlx5/device.h:1181:2: note: in expansion of macro 'MLX5_CAP_FLOWTABLE'
1181 | MLX5_CAP_FLOWTABLE(mdev, flow_table_properties_nic_receive.cap)
| ^~~~~~~~~~~~~~~~~~
drivers/net/ethernet/mellanox/mlx5/core/steering/dr_cmd.c:116:25: note: in expansion of macro 'MLX5_CAP_FLOWTABLE_NIC_RX'
116 | caps->rx_sw_owner_v2 = MLX5_CAP_FLOWTABLE_NIC_RX(mdev, sw_owner_v2);
| ^~~~~~~~~~~~~~~~~~~~~~~~~
In file included from include/linux/mlx5/driver.h:52,
from drivers/net/ethernet/mellanox/mlx5/core/steering/dr_types.h:7,
from drivers/net/ethernet/mellanox/mlx5/core/steering/dr_cmd.c:4:
drivers/net/ethernet/mellanox/mlx5/core/steering/dr_cmd.c:116:57: error: 'struct mlx5_ifc_flow_table_prop_layout_bits' has no member named 'sw_owner_v2'; did you mean 'sw_owner'?
116 | caps->rx_sw_owner_v2 = MLX5_CAP_FLOWTABLE_NIC_RX(mdev, sw_owner_v2);
| ^~~~~~~~~~~
include/linux/mlx5/device.h:50:59: note: in definition of macro '__mlx5_bit_sz'
50 | #define __mlx5_bit_sz(typ, fld) sizeof(__mlx5_nullp(typ)->fld)
| ^~~
include/linux/mlx5/device.h:96:30: note: in expansion of macro '__mlx5_dw_bit_off'
96 | __mlx5_dw_off(typ, fld))) >> __mlx5_dw_bit_off(typ, fld)) & \
| ^~~~~~~~~~~~~~~~~
include/linux/mlx5/device.h:1172:2: note: in expansion of macro 'MLX5_GET'
1172 | MLX5_GET(flow_table_nic_cap, mdev->caps.hca_cur[MLX5_CAP_FLOW_TABLE], cap)
| ^~~~~~~~
include/linux/mlx5/device.h:1181:2: note: in expansion of macro 'MLX5_CAP_FLOWTABLE'
1181 | MLX5_CAP_FLOWTABLE(mdev, flow_table_properties_nic_receive.cap)
| ^~~~~~~~~~~~~~~~~~
drivers/net/ethernet/mellanox/mlx5/core/steering/dr_cmd.c:116:25: note: in expansion of macro 'MLX5_CAP_FLOWTABLE_NIC_RX'
116 | caps->rx_sw_owner_v2 = MLX5_CAP_FLOWTABLE_NIC_RX(mdev, sw_owner_v2);
| ^~~~~~~~~~~~~~~~~~~~~~~~~
In file included from <command-line>:
drivers/net/ethernet/mellanox/mlx5/core/steering/dr_cmd.c:116:57: error: 'struct mlx5_ifc_flow_table_prop_layout_bits' has no member named 'sw_owner_v2'; did you mean 'sw_owner'?
116 | caps->rx_sw_owner_v2 = MLX5_CAP_FLOWTABLE_NIC_RX(mdev, sw_owner_v2);
| ^~~~~~~~~~~
include/linux/compiler_types.h:133:57: note: in definition of macro '__compiler_offsetof'
133 | #define __compiler_offsetof(a, b) __builtin_offsetof(a, b)
| ^
include/linux/mlx5/device.h:51:35: note: in expansion of macro 'offsetof'
51 | #define __mlx5_bit_off(typ, fld) (offsetof(struct mlx5_ifc_##typ##_bits, fld))
| ^~~~~~~~
include/linux/mlx5/device.h:56:70: note: in expansion of macro '__mlx5_bit_off'
56 | #define __mlx5_dw_bit_off(typ, fld) (32 - __mlx5_bit_sz(typ, fld) - (__mlx5_bit_off(typ, fld) & 0x1f))
| ^~~~~~~~~~~~~~
include/linux/mlx5/device.h:96:30: note: in expansion of macro '__mlx5_dw_bit_off'
96 | __mlx5_dw_off(typ, fld))) >> __mlx5_dw_bit_off(typ, fld)) & \
| ^~~~~~~~~~~~~~~~~
include/linux/mlx5/device.h:1172:2: note: in expansion of macro 'MLX5_GET'
1172 | MLX5_GET(flow_table_nic_cap, mdev->caps.hca_cur[MLX5_CAP_FLOW_TABLE], cap)
| ^~~~~~~~
include/linux/mlx5/device.h:1181:2: note: in expansion of macro 'MLX5_CAP_FLOWTABLE'
1181 | MLX5_CAP_FLOWTABLE(mdev, flow_table_properties_nic_receive.cap)
| ^~~~~~~~~~~~~~~~~~
drivers/net/ethernet/mellanox/mlx5/core/steering/dr_cmd.c:116:25: note: in expansion of macro 'MLX5_CAP_FLOWTABLE_NIC_RX'
116 | caps->rx_sw_owner_v2 = MLX5_CAP_FLOWTABLE_NIC_RX(mdev, sw_owner_v2);
| ^~~~~~~~~~~~~~~~~~~~~~~~~
..
vim +116 drivers/net/ethernet/mellanox/mlx5/core/steering/mlx5dr.h
111
112 static inline bool
113 mlx5dr_is_supported(struct mlx5_core_dev *dev)
114 {
115 return MLX5_CAP_ESW_FLOWTABLE_FDB(dev, sw_owner) ||
> 116 (MLX5_CAP_ESW_FLOWTABLE_FDB(dev, sw_owner_v2) &&
117 (MLX5_CAP_GEN(dev, steering_format_version) <=
118 MLX5_STEERING_FORMAT_CONNECTX_6DX));
119 }
120
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 3 months