From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 681BFC433EF for ; Wed, 10 Nov 2021 04:00:24 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 3C72F61175 for ; Wed, 10 Nov 2021 04:00:24 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230397AbhKJEDJ (ORCPT ); Tue, 9 Nov 2021 23:03:09 -0500 Received: from mga17.intel.com ([192.55.52.151]:25175 "EHLO mga17.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230364AbhKJEDH (ORCPT ); Tue, 9 Nov 2021 23:03:07 -0500 X-IronPort-AV: E=McAfee;i="6200,9189,10163"; a="213326487" X-IronPort-AV: E=Sophos;i="5.87,222,1631602800"; d="gz'50?scan'50,208,50";a="213326487" Received: from orsmga007.jf.intel.com ([10.7.209.58]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 09 Nov 2021 20:00:18 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.87,222,1631602800"; d="gz'50?scan'50,208,50";a="491941328" Received: from lkp-server02.sh.intel.com (HELO c20d8bc80006) ([10.239.97.151]) by orsmga007.jf.intel.com with ESMTP; 09 Nov 2021 20:00:13 -0800 Received: from kbuild by c20d8bc80006 with local (Exim 4.92) (envelope-from ) id 1mkemS-000ELd-Jp; Wed, 10 Nov 2021 04:00:12 +0000 Date: Wed, 10 Nov 2021 11:59:46 +0800 From: kernel test robot To: Vinicius Costa Gomes , bpf@vger.kernel.org Cc: kbuild-all@lists.01.org, Vinicius Costa Gomes , netdev@vger.kernel.org, ast@kernel.org, daniel@iogearbox.net, memxor@gmail.com, kafai@fb.com, andrii@kernel.org, songliubraving@fb.com, yhs@fb.com Subject: Re: [PATCH net v1] bpf: Fix build when CONFIG_BPF_SYSCALL is disabled Message-ID: <202111101156.m5ifQ54c-lkp@intel.com> References: <20211110010024.31415-1-vinicius.gomes@intel.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="cNdxnHkX5QqsyA0e" Content-Disposition: inline In-Reply-To: <20211110010024.31415-1-vinicius.gomes@intel.com> User-Agent: Mutt/1.10.1 (2018-07-13) Precedence: bulk List-ID: X-Mailing-List: bpf@vger.kernel.org --cNdxnHkX5QqsyA0e Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Hi Vinicius, I love your patch! Yet something to improve: [auto build test ERROR on net/master] url: https://github.com/0day-ci/linux/commits/Vinicius-Costa-Gomes/bpf-Fix-build-when-CONFIG_BPF_SYSCALL-is-disabled/20211110-090148 base: https://git.kernel.org/pub/scm/linux/kernel/git/davem/net.git fceb07950a7aac43d52d8c6ef580399a8b9b68fe config: i386-debian-10.3 (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/1e7a382c089da5714e4a9411765e84815cf550f9 git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Vinicius-Costa-Gomes/bpf-Fix-build-when-CONFIG_BPF_SYSCALL-is-disabled/20211110-090148 git checkout 1e7a382c089da5714e4a9411765e84815cf550f9 # save the attached .config to linux build tree mkdir build_dir make W=1 O=build_dir ARCH=i386 SHELL=/bin/bash If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot All errors (new ones prefixed by >>): kernel/bpf/btf.c: In function 'btf_seq_show': kernel/bpf/btf.c:5876:22: warning: function 'btf_seq_show' might be a candidate for 'gnu_printf' format attribute [-Wsuggest-attribute=format] 5876 | seq_vprintf((struct seq_file *)show->target, fmt, args); | ^~~~~~~~ kernel/bpf/btf.c: In function 'btf_snprintf_show': kernel/bpf/btf.c:5913:2: warning: function 'btf_snprintf_show' might be a candidate for 'gnu_printf' format attribute [-Wsuggest-attribute=format] 5913 | len = vsnprintf(show->target, ssnprintf->len_left, fmt, args); | ^~~ kernel/bpf/btf.c: At top level: >> kernel/bpf/btf.c:6370:9: error: variable 'bpf_tcp_ca_kfunc_list' has initializer but incomplete type 6370 | struct kfunc_btf_id_list name = { LIST_HEAD_INIT(name.list), \ | ^~~~~~~~~~~~~~~~~ kernel/bpf/btf.c:6374:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_ID_LIST' 6374 | DEFINE_KFUNC_BTF_ID_LIST(bpf_tcp_ca_kfunc_list); | ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from include/linux/rculist.h:10, from include/linux/pid.h:5, from include/linux/sched.h:14, from include/linux/ptrace.h:6, from include/uapi/asm-generic/bpf_perf_event.h:4, from ./arch/x86/include/generated/uapi/asm/bpf_perf_event.h:1, from include/uapi/linux/bpf_perf_event.h:11, from kernel/bpf/btf.c:6: >> include/linux/list.h:21:30: error: extra brace group at end of initializer 21 | #define LIST_HEAD_INIT(name) { &(name), &(name) } | ^ kernel/bpf/btf.c:6370:36: note: in expansion of macro 'LIST_HEAD_INIT' 6370 | struct kfunc_btf_id_list name = { LIST_HEAD_INIT(name.list), \ | ^~~~~~~~~~~~~~ kernel/bpf/btf.c:6374:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_ID_LIST' 6374 | DEFINE_KFUNC_BTF_ID_LIST(bpf_tcp_ca_kfunc_list); | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/list.h:21:30: note: (near initialization for 'bpf_tcp_ca_kfunc_list') 21 | #define LIST_HEAD_INIT(name) { &(name), &(name) } | ^ kernel/bpf/btf.c:6370:36: note: in expansion of macro 'LIST_HEAD_INIT' 6370 | struct kfunc_btf_id_list name = { LIST_HEAD_INIT(name.list), \ | ^~~~~~~~~~~~~~ kernel/bpf/btf.c:6374:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_ID_LIST' 6374 | DEFINE_KFUNC_BTF_ID_LIST(bpf_tcp_ca_kfunc_list); | ^~~~~~~~~~~~~~~~~~~~~~~~ >> kernel/bpf/btf.c:6370:55: error: invalid use of undefined type 'struct kfunc_btf_id_list' 6370 | struct kfunc_btf_id_list name = { LIST_HEAD_INIT(name.list), \ | ^ include/linux/list.h:21:34: note: in definition of macro 'LIST_HEAD_INIT' 21 | #define LIST_HEAD_INIT(name) { &(name), &(name) } | ^~~~ kernel/bpf/btf.c:6374:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_ID_LIST' 6374 | DEFINE_KFUNC_BTF_ID_LIST(bpf_tcp_ca_kfunc_list); | ^~~~~~~~~~~~~~~~~~~~~~~~ >> kernel/bpf/btf.c:6370:55: error: invalid use of undefined type 'struct kfunc_btf_id_list' 6370 | struct kfunc_btf_id_list name = { LIST_HEAD_INIT(name.list), \ | ^ include/linux/list.h:21:43: note: in definition of macro 'LIST_HEAD_INIT' 21 | #define LIST_HEAD_INIT(name) { &(name), &(name) } | ^~~~ kernel/bpf/btf.c:6374:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_ID_LIST' 6374 | DEFINE_KFUNC_BTF_ID_LIST(bpf_tcp_ca_kfunc_list); | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/list.h:21:30: warning: excess elements in struct initializer 21 | #define LIST_HEAD_INIT(name) { &(name), &(name) } | ^ kernel/bpf/btf.c:6370:36: note: in expansion of macro 'LIST_HEAD_INIT' 6370 | struct kfunc_btf_id_list name = { LIST_HEAD_INIT(name.list), \ | ^~~~~~~~~~~~~~ kernel/bpf/btf.c:6374:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_ID_LIST' 6374 | DEFINE_KFUNC_BTF_ID_LIST(bpf_tcp_ca_kfunc_list); | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/list.h:21:30: note: (near initialization for 'bpf_tcp_ca_kfunc_list') 21 | #define LIST_HEAD_INIT(name) { &(name), &(name) } | ^ kernel/bpf/btf.c:6370:36: note: in expansion of macro 'LIST_HEAD_INIT' 6370 | struct kfunc_btf_id_list name = { LIST_HEAD_INIT(name.list), \ | ^~~~~~~~~~~~~~ kernel/bpf/btf.c:6374:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_ID_LIST' 6374 | DEFINE_KFUNC_BTF_ID_LIST(bpf_tcp_ca_kfunc_list); | ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from include/linux/rhashtable-types.h:14, from include/linux/ipc.h:7, from include/uapi/linux/sem.h:5, from include/linux/sem.h:5, from include/linux/sched.h:15, from include/linux/ptrace.h:6, from include/uapi/asm-generic/bpf_perf_event.h:4, from ./arch/x86/include/generated/uapi/asm/bpf_perf_event.h:1, from include/uapi/linux/bpf_perf_event.h:11, from kernel/bpf/btf.c:6: >> include/linux/mutex.h:109:3: error: extra brace group at end of initializer 109 | { .owner = ATOMIC_LONG_INIT(0) \ | ^ kernel/bpf/btf.c:6371:8: note: in expansion of macro '__MUTEX_INITIALIZER' 6371 | __MUTEX_INITIALIZER(name.mutex) }; \ | ^~~~~~~~~~~~~~~~~~~ kernel/bpf/btf.c:6374:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_ID_LIST' 6374 | DEFINE_KFUNC_BTF_ID_LIST(bpf_tcp_ca_kfunc_list); | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/mutex.h:109:3: note: (near initialization for 'bpf_tcp_ca_kfunc_list') 109 | { .owner = ATOMIC_LONG_INIT(0) \ | ^ kernel/bpf/btf.c:6371:8: note: in expansion of macro '__MUTEX_INITIALIZER' 6371 | __MUTEX_INITIALIZER(name.mutex) }; \ | ^~~~~~~~~~~~~~~~~~~ kernel/bpf/btf.c:6374:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_ID_LIST' 6374 | DEFINE_KFUNC_BTF_ID_LIST(bpf_tcp_ca_kfunc_list); | ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from include/uapi/linux/btf.h:6, from kernel/bpf/btf.c:4: >> include/linux/types.h:170:24: error: extra brace group at end of initializer 170 | #define ATOMIC_INIT(i) { (i) } | ^ include/linux/atomic/atomic-long.h:19:30: note: in expansion of macro 'ATOMIC_INIT' 19 | #define ATOMIC_LONG_INIT(i) ATOMIC_INIT(i) | ^~~~~~~~~~~ include/linux/mutex.h:109:14: note: in expansion of macro 'ATOMIC_LONG_INIT' 109 | { .owner = ATOMIC_LONG_INIT(0) \ | ^~~~~~~~~~~~~~~~ kernel/bpf/btf.c:6371:8: note: in expansion of macro '__MUTEX_INITIALIZER' 6371 | __MUTEX_INITIALIZER(name.mutex) }; \ | ^~~~~~~~~~~~~~~~~~~ kernel/bpf/btf.c:6374:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_ID_LIST' 6374 | DEFINE_KFUNC_BTF_ID_LIST(bpf_tcp_ca_kfunc_list); | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/types.h:170:24: note: (near initialization for 'bpf_tcp_ca_kfunc_list') 170 | #define ATOMIC_INIT(i) { (i) } | ^ include/linux/atomic/atomic-long.h:19:30: note: in expansion of macro 'ATOMIC_INIT' 19 | #define ATOMIC_LONG_INIT(i) ATOMIC_INIT(i) | ^~~~~~~~~~~ include/linux/mutex.h:109:14: note: in expansion of macro 'ATOMIC_LONG_INIT' 109 | { .owner = ATOMIC_LONG_INIT(0) \ | ^~~~~~~~~~~~~~~~ kernel/bpf/btf.c:6371:8: note: in expansion of macro '__MUTEX_INITIALIZER' 6371 | __MUTEX_INITIALIZER(name.mutex) }; \ | ^~~~~~~~~~~~~~~~~~~ kernel/bpf/btf.c:6374:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_ID_LIST' 6374 | DEFINE_KFUNC_BTF_ID_LIST(bpf_tcp_ca_kfunc_list); | ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from include/linux/rculist.h:10, from include/linux/pid.h:5, from include/linux/sched.h:14, from include/linux/ptrace.h:6, from include/uapi/asm-generic/bpf_perf_event.h:4, from ./arch/x86/include/generated/uapi/asm/bpf_perf_event.h:1, from include/uapi/linux/bpf_perf_event.h:11, from kernel/bpf/btf.c:6: >> include/linux/list.h:21:30: error: extra brace group at end of initializer 21 | #define LIST_HEAD_INIT(name) { &(name), &(name) } | ^ include/linux/mutex.h:111:18: note: in expansion of macro 'LIST_HEAD_INIT' 111 | , .wait_list = LIST_HEAD_INIT(lockname.wait_list) \ | ^~~~~~~~~~~~~~ kernel/bpf/btf.c:6371:8: note: in expansion of macro '__MUTEX_INITIALIZER' 6371 | __MUTEX_INITIALIZER(name.mutex) }; \ | ^~~~~~~~~~~~~~~~~~~ kernel/bpf/btf.c:6374:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_ID_LIST' 6374 | DEFINE_KFUNC_BTF_ID_LIST(bpf_tcp_ca_kfunc_list); | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/list.h:21:30: note: (near initialization for 'bpf_tcp_ca_kfunc_list') 21 | #define LIST_HEAD_INIT(name) { &(name), &(name) } | ^ include/linux/mutex.h:111:18: note: in expansion of macro 'LIST_HEAD_INIT' 111 | , .wait_list = LIST_HEAD_INIT(lockname.wait_list) \ | ^~~~~~~~~~~~~~ kernel/bpf/btf.c:6371:8: note: in expansion of macro '__MUTEX_INITIALIZER' 6371 | __MUTEX_INITIALIZER(name.mutex) }; \ | ^~~~~~~~~~~~~~~~~~~ kernel/bpf/btf.c:6374:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_ID_LIST' 6374 | DEFINE_KFUNC_BTF_ID_LIST(bpf_tcp_ca_kfunc_list); | ^~~~~~~~~~~~~~~~~~~~~~~~ kernel/bpf/btf.c:6371:32: error: invalid use of undefined type 'struct kfunc_btf_id_list' 6371 | __MUTEX_INITIALIZER(name.mutex) }; \ | ^ include/linux/list.h:21:34: note: in definition of macro 'LIST_HEAD_INIT' 21 | #define LIST_HEAD_INIT(name) { &(name), &(name) } | ^~~~ kernel/bpf/btf.c:6371:8: note: in expansion of macro '__MUTEX_INITIALIZER' 6371 | __MUTEX_INITIALIZER(name.mutex) }; \ | ^~~~~~~~~~~~~~~~~~~ kernel/bpf/btf.c:6374:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_ID_LIST' 6374 | DEFINE_KFUNC_BTF_ID_LIST(bpf_tcp_ca_kfunc_list); | ^~~~~~~~~~~~~~~~~~~~~~~~ kernel/bpf/btf.c:6371:32: error: invalid use of undefined type 'struct kfunc_btf_id_list' 6371 | __MUTEX_INITIALIZER(name.mutex) }; \ | ^ include/linux/list.h:21:43: note: in definition of macro 'LIST_HEAD_INIT' 21 | #define LIST_HEAD_INIT(name) { &(name), &(name) } | ^~~~ kernel/bpf/btf.c:6371:8: note: in expansion of macro '__MUTEX_INITIALIZER' 6371 | __MUTEX_INITIALIZER(name.mutex) }; \ | ^~~~~~~~~~~~~~~~~~~ kernel/bpf/btf.c:6374:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_ID_LIST' 6374 | DEFINE_KFUNC_BTF_ID_LIST(bpf_tcp_ca_kfunc_list); | ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from include/linux/rhashtable-types.h:14, from include/linux/ipc.h:7, from include/uapi/linux/sem.h:5, from include/linux/sem.h:5, from include/linux/sched.h:15, from include/linux/ptrace.h:6, from include/uapi/asm-generic/bpf_perf_event.h:4, from ./arch/x86/include/generated/uapi/asm/bpf_perf_event.h:1, from include/uapi/linux/bpf_perf_event.h:11, from kernel/bpf/btf.c:6: include/linux/mutex.h:109:3: warning: excess elements in struct initializer 109 | { .owner = ATOMIC_LONG_INIT(0) \ | ^ kernel/bpf/btf.c:6371:8: note: in expansion of macro '__MUTEX_INITIALIZER' 6371 | __MUTEX_INITIALIZER(name.mutex) }; \ | ^~~~~~~~~~~~~~~~~~~ kernel/bpf/btf.c:6374:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_ID_LIST' 6374 | DEFINE_KFUNC_BTF_ID_LIST(bpf_tcp_ca_kfunc_list); | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/mutex.h:109:3: note: (near initialization for 'bpf_tcp_ca_kfunc_list') 109 | { .owner = ATOMIC_LONG_INIT(0) \ | ^ kernel/bpf/btf.c:6371:8: note: in expansion of macro '__MUTEX_INITIALIZER' 6371 | __MUTEX_INITIALIZER(name.mutex) }; \ | ^~~~~~~~~~~~~~~~~~~ kernel/bpf/btf.c:6374:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_ID_LIST' 6374 | DEFINE_KFUNC_BTF_ID_LIST(bpf_tcp_ca_kfunc_list); | ^~~~~~~~~~~~~~~~~~~~~~~~ >> kernel/bpf/btf.c:6370:9: error: variable 'prog_test_kfunc_list' has initializer but incomplete type 6370 | struct kfunc_btf_id_list name = { LIST_HEAD_INIT(name.list), \ | ^~~~~~~~~~~~~~~~~ kernel/bpf/btf.c:6375:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_ID_LIST' 6375 | DEFINE_KFUNC_BTF_ID_LIST(prog_test_kfunc_list); | ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from include/linux/rculist.h:10, from include/linux/pid.h:5, from include/linux/sched.h:14, from include/linux/ptrace.h:6, from include/uapi/asm-generic/bpf_perf_event.h:4, from ./arch/x86/include/generated/uapi/asm/bpf_perf_event.h:1, from include/uapi/linux/bpf_perf_event.h:11, from kernel/bpf/btf.c:6: >> include/linux/list.h:21:30: error: extra brace group at end of initializer 21 | #define LIST_HEAD_INIT(name) { &(name), &(name) } | ^ kernel/bpf/btf.c:6370:36: note: in expansion of macro 'LIST_HEAD_INIT' 6370 | struct kfunc_btf_id_list name = { LIST_HEAD_INIT(name.list), \ | ^~~~~~~~~~~~~~ kernel/bpf/btf.c:6375:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_ID_LIST' 6375 | DEFINE_KFUNC_BTF_ID_LIST(prog_test_kfunc_list); | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/list.h:21:30: note: (near initialization for 'prog_test_kfunc_list') 21 | #define LIST_HEAD_INIT(name) { &(name), &(name) } | ^ kernel/bpf/btf.c:6370:36: note: in expansion of macro 'LIST_HEAD_INIT' 6370 | struct kfunc_btf_id_list name = { LIST_HEAD_INIT(name.list), \ | ^~~~~~~~~~~~~~ kernel/bpf/btf.c:6375:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_ID_LIST' 6375 | DEFINE_KFUNC_BTF_ID_LIST(prog_test_kfunc_list); | ^~~~~~~~~~~~~~~~~~~~~~~~ >> kernel/bpf/btf.c:6370:55: error: invalid use of undefined type 'struct kfunc_btf_id_list' 6370 | struct kfunc_btf_id_list name = { LIST_HEAD_INIT(name.list), \ | ^ include/linux/list.h:21:34: note: in definition of macro 'LIST_HEAD_INIT' 21 | #define LIST_HEAD_INIT(name) { &(name), &(name) } | ^~~~ kernel/bpf/btf.c:6375:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_ID_LIST' 6375 | DEFINE_KFUNC_BTF_ID_LIST(prog_test_kfunc_list); | ^~~~~~~~~~~~~~~~~~~~~~~~ >> kernel/bpf/btf.c:6370:55: error: invalid use of undefined type 'struct kfunc_btf_id_list' 6370 | struct kfunc_btf_id_list name = { LIST_HEAD_INIT(name.list), \ | ^ include/linux/list.h:21:43: note: in definition of macro 'LIST_HEAD_INIT' 21 | #define LIST_HEAD_INIT(name) { &(name), &(name) } | ^~~~ kernel/bpf/btf.c:6375:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_ID_LIST' 6375 | DEFINE_KFUNC_BTF_ID_LIST(prog_test_kfunc_list); | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/list.h:21:30: warning: excess elements in struct initializer 21 | #define LIST_HEAD_INIT(name) { &(name), &(name) } | ^ kernel/bpf/btf.c:6370:36: note: in expansion of macro 'LIST_HEAD_INIT' 6370 | struct kfunc_btf_id_list name = { LIST_HEAD_INIT(name.list), \ | ^~~~~~~~~~~~~~ kernel/bpf/btf.c:6375:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_ID_LIST' 6375 | DEFINE_KFUNC_BTF_ID_LIST(prog_test_kfunc_list); | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/list.h:21:30: note: (near initialization for 'prog_test_kfunc_list') 21 | #define LIST_HEAD_INIT(name) { &(name), &(name) } | ^ kernel/bpf/btf.c:6370:36: note: in expansion of macro 'LIST_HEAD_INIT' 6370 | struct kfunc_btf_id_list name = { LIST_HEAD_INIT(name.list), \ | ^~~~~~~~~~~~~~ kernel/bpf/btf.c:6375:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_ID_LIST' 6375 | DEFINE_KFUNC_BTF_ID_LIST(prog_test_kfunc_list); | ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from include/linux/rhashtable-types.h:14, from include/linux/ipc.h:7, from include/uapi/linux/sem.h:5, from include/linux/sem.h:5, from include/linux/sched.h:15, from include/linux/ptrace.h:6, from include/uapi/asm-generic/bpf_perf_event.h:4, from ./arch/x86/include/generated/uapi/asm/bpf_perf_event.h:1, from include/uapi/linux/bpf_perf_event.h:11, from kernel/bpf/btf.c:6: >> include/linux/mutex.h:109:3: error: extra brace group at end of initializer 109 | { .owner = ATOMIC_LONG_INIT(0) \ | ^ kernel/bpf/btf.c:6371:8: note: in expansion of macro '__MUTEX_INITIALIZER' 6371 | __MUTEX_INITIALIZER(name.mutex) }; \ | ^~~~~~~~~~~~~~~~~~~ kernel/bpf/btf.c:6375:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_ID_LIST' 6375 | DEFINE_KFUNC_BTF_ID_LIST(prog_test_kfunc_list); | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/mutex.h:109:3: note: (near initialization for 'prog_test_kfunc_list') 109 | { .owner = ATOMIC_LONG_INIT(0) \ | ^ kernel/bpf/btf.c:6371:8: note: in expansion of macro '__MUTEX_INITIALIZER' 6371 | __MUTEX_INITIALIZER(name.mutex) }; \ | ^~~~~~~~~~~~~~~~~~~ kernel/bpf/btf.c:6375:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_ID_LIST' 6375 | DEFINE_KFUNC_BTF_ID_LIST(prog_test_kfunc_list); | ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from include/uapi/linux/btf.h:6, from kernel/bpf/btf.c:4: >> include/linux/types.h:170:24: error: extra brace group at end of initializer 170 | #define ATOMIC_INIT(i) { (i) } | ^ include/linux/atomic/atomic-long.h:19:30: note: in expansion of macro 'ATOMIC_INIT' 19 | #define ATOMIC_LONG_INIT(i) ATOMIC_INIT(i) | ^~~~~~~~~~~ include/linux/mutex.h:109:14: note: in expansion of macro 'ATOMIC_LONG_INIT' 109 | { .owner = ATOMIC_LONG_INIT(0) \ | ^~~~~~~~~~~~~~~~ kernel/bpf/btf.c:6371:8: note: in expansion of macro '__MUTEX_INITIALIZER' 6371 | __MUTEX_INITIALIZER(name.mutex) }; \ | ^~~~~~~~~~~~~~~~~~~ kernel/bpf/btf.c:6375:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_ID_LIST' 6375 | DEFINE_KFUNC_BTF_ID_LIST(prog_test_kfunc_list); | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/types.h:170:24: note: (near initialization for 'prog_test_kfunc_list') 170 | #define ATOMIC_INIT(i) { (i) } | ^ include/linux/atomic/atomic-long.h:19:30: note: in expansion of macro 'ATOMIC_INIT' 19 | #define ATOMIC_LONG_INIT(i) ATOMIC_INIT(i) | ^~~~~~~~~~~ include/linux/mutex.h:109:14: note: in expansion of macro 'ATOMIC_LONG_INIT' 109 | { .owner = ATOMIC_LONG_INIT(0) \ | ^~~~~~~~~~~~~~~~ kernel/bpf/btf.c:6371:8: note: in expansion of macro '__MUTEX_INITIALIZER' 6371 | __MUTEX_INITIALIZER(name.mutex) }; \ | ^~~~~~~~~~~~~~~~~~~ kernel/bpf/btf.c:6375:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_ID_LIST' 6375 | DEFINE_KFUNC_BTF_ID_LIST(prog_test_kfunc_list); | ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from include/linux/rculist.h:10, from include/linux/pid.h:5, from include/linux/sched.h:14, from include/linux/ptrace.h:6, from include/uapi/asm-generic/bpf_perf_event.h:4, from ./arch/x86/include/generated/uapi/asm/bpf_perf_event.h:1, from include/uapi/linux/bpf_perf_event.h:11, from kernel/bpf/btf.c:6: >> include/linux/list.h:21:30: error: extra brace group at end of initializer 21 | #define LIST_HEAD_INIT(name) { &(name), &(name) } | ^ include/linux/mutex.h:111:18: note: in expansion of macro 'LIST_HEAD_INIT' 111 | , .wait_list = LIST_HEAD_INIT(lockname.wait_list) \ | ^~~~~~~~~~~~~~ kernel/bpf/btf.c:6371:8: note: in expansion of macro '__MUTEX_INITIALIZER' 6371 | __MUTEX_INITIALIZER(name.mutex) }; \ | ^~~~~~~~~~~~~~~~~~~ kernel/bpf/btf.c:6375:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_ID_LIST' 6375 | DEFINE_KFUNC_BTF_ID_LIST(prog_test_kfunc_list); | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/list.h:21:30: note: (near initialization for 'prog_test_kfunc_list') 21 | #define LIST_HEAD_INIT(name) { &(name), &(name) } | ^ include/linux/mutex.h:111:18: note: in expansion of macro 'LIST_HEAD_INIT' 111 | , .wait_list = LIST_HEAD_INIT(lockname.wait_list) \ | ^~~~~~~~~~~~~~ kernel/bpf/btf.c:6371:8: note: in expansion of macro '__MUTEX_INITIALIZER' 6371 | __MUTEX_INITIALIZER(name.mutex) }; \ | ^~~~~~~~~~~~~~~~~~~ kernel/bpf/btf.c:6375:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_ID_LIST' 6375 | DEFINE_KFUNC_BTF_ID_LIST(prog_test_kfunc_list); | ^~~~~~~~~~~~~~~~~~~~~~~~ kernel/bpf/btf.c:6371:32: error: invalid use of undefined type 'struct kfunc_btf_id_list' 6371 | __MUTEX_INITIALIZER(name.mutex) }; \ | ^ include/linux/list.h:21:34: note: in definition of macro 'LIST_HEAD_INIT' 21 | #define LIST_HEAD_INIT(name) { &(name), &(name) } | ^~~~ kernel/bpf/btf.c:6371:8: note: in expansion of macro '__MUTEX_INITIALIZER' 6371 | __MUTEX_INITIALIZER(name.mutex) }; \ | ^~~~~~~~~~~~~~~~~~~ kernel/bpf/btf.c:6375:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_ID_LIST' 6375 | DEFINE_KFUNC_BTF_ID_LIST(prog_test_kfunc_list); | ^~~~~~~~~~~~~~~~~~~~~~~~ kernel/bpf/btf.c:6371:32: error: invalid use of undefined type 'struct kfunc_btf_id_list' 6371 | __MUTEX_INITIALIZER(name.mutex) }; \ | ^ include/linux/list.h:21:43: note: in definition of macro 'LIST_HEAD_INIT' 21 | #define LIST_HEAD_INIT(name) { &(name), &(name) } | ^~~~ kernel/bpf/btf.c:6371:8: note: in expansion of macro '__MUTEX_INITIALIZER' 6371 | __MUTEX_INITIALIZER(name.mutex) }; \ | ^~~~~~~~~~~~~~~~~~~ kernel/bpf/btf.c:6375:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_ID_LIST' 6375 | DEFINE_KFUNC_BTF_ID_LIST(prog_test_kfunc_list); | ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from include/linux/rhashtable-types.h:14, from include/linux/ipc.h:7, from include/uapi/linux/sem.h:5, from include/linux/sem.h:5, from include/linux/sched.h:15, from include/linux/ptrace.h:6, from include/uapi/asm-generic/bpf_perf_event.h:4, from ./arch/x86/include/generated/uapi/asm/bpf_perf_event.h:1, from include/uapi/linux/bpf_perf_event.h:11, from kernel/bpf/btf.c:6: include/linux/mutex.h:109:3: warning: excess elements in struct initializer 109 | { .owner = ATOMIC_LONG_INIT(0) \ | ^ kernel/bpf/btf.c:6371:8: note: in expansion of macro '__MUTEX_INITIALIZER' 6371 | __MUTEX_INITIALIZER(name.mutex) }; \ | ^~~~~~~~~~~~~~~~~~~ kernel/bpf/btf.c:6375:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_ID_LIST' 6375 | DEFINE_KFUNC_BTF_ID_LIST(prog_test_kfunc_list); | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/mutex.h:109:3: note: (near initialization for 'prog_test_kfunc_list') 109 | { .owner = ATOMIC_LONG_INIT(0) \ | ^ kernel/bpf/btf.c:6371:8: note: in expansion of macro '__MUTEX_INITIALIZER' 6371 | __MUTEX_INITIALIZER(name.mutex) }; \ | ^~~~~~~~~~~~~~~~~~~ kernel/bpf/btf.c:6375:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_ID_LIST' 6375 | DEFINE_KFUNC_BTF_ID_LIST(prog_test_kfunc_list); | ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from include/linux/linkage.h:7, from include/linux/kernel.h:8, from arch/x86/include/asm/percpu.h:27, from arch/x86/include/asm/current.h:6, from include/linux/sched.h:12, from include/linux/ptrace.h:6, from include/uapi/asm-generic/bpf_perf_event.h:4, from ./arch/x86/include/generated/uapi/asm/bpf_perf_event.h:1, from include/uapi/linux/bpf_perf_event.h:11, from kernel/bpf/btf.c:6: >> kernel/bpf/btf.c:6374:26: error: storage size of 'bpf_tcp_ca_kfunc_list' isn't known 6374 | DEFINE_KFUNC_BTF_ID_LIST(bpf_tcp_ca_kfunc_list); | ^~~~~~~~~~~~~~~~~~~~~ include/linux/export.h:98:21: note: in definition of macro '___EXPORT_SYMBOL' 98 | extern typeof(sym) sym; \ | ^~~ include/linux/export.h:160:34: note: in expansion of macro '__EXPORT_SYMBOL' 160 | #define _EXPORT_SYMBOL(sym, sec) __EXPORT_SYMBOL(sym, sec, "") | ^~~~~~~~~~~~~~~ include/linux/export.h:164:33: note: in expansion of macro '_EXPORT_SYMBOL' 164 | #define EXPORT_SYMBOL_GPL(sym) _EXPORT_SYMBOL(sym, "_gpl") | ^~~~~~~~~~~~~~ kernel/bpf/btf.c:6372:2: note: in expansion of macro 'EXPORT_SYMBOL_GPL' 6372 | EXPORT_SYMBOL_GPL(name) | ^~~~~~~~~~~~~~~~~ kernel/bpf/btf.c:6374:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_ID_LIST' 6374 | DEFINE_KFUNC_BTF_ID_LIST(bpf_tcp_ca_kfunc_list); | ^~~~~~~~~~~~~~~~~~~~~~~~ >> kernel/bpf/btf.c:6374:26: error: storage size of 'bpf_tcp_ca_kfunc_list' isn't known 6374 | DEFINE_KFUNC_BTF_ID_LIST(bpf_tcp_ca_kfunc_list); | ^~~~~~~~~~~~~~~~~~~~~ include/linux/export.h:98:21: note: in definition of macro '___EXPORT_SYMBOL' 98 | extern typeof(sym) sym; \ | ^~~ include/linux/export.h:160:34: note: in expansion of macro '__EXPORT_SYMBOL' 160 | #define _EXPORT_SYMBOL(sym, sec) __EXPORT_SYMBOL(sym, sec, "") | ^~~~~~~~~~~~~~~ include/linux/export.h:164:33: note: in expansion of macro '_EXPORT_SYMBOL' 164 | #define EXPORT_SYMBOL_GPL(sym) _EXPORT_SYMBOL(sym, "_gpl") | ^~~~~~~~~~~~~~ kernel/bpf/btf.c:6372:2: note: in expansion of macro 'EXPORT_SYMBOL_GPL' 6372 | EXPORT_SYMBOL_GPL(name) | ^~~~~~~~~~~~~~~~~ kernel/bpf/btf.c:6374:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_ID_LIST' 6374 | DEFINE_KFUNC_BTF_ID_LIST(bpf_tcp_ca_kfunc_list); | ^~~~~~~~~~~~~~~~~~~~~~~~ >> kernel/bpf/btf.c:6375:26: error: storage size of 'prog_test_kfunc_list' isn't known 6375 | DEFINE_KFUNC_BTF_ID_LIST(prog_test_kfunc_list); | ^~~~~~~~~~~~~~~~~~~~ include/linux/export.h:98:21: note: in definition of macro '___EXPORT_SYMBOL' 98 | extern typeof(sym) sym; \ | ^~~ include/linux/export.h:160:34: note: in expansion of macro '__EXPORT_SYMBOL' 160 | #define _EXPORT_SYMBOL(sym, sec) __EXPORT_SYMBOL(sym, sec, "") | ^~~~~~~~~~~~~~~ include/linux/export.h:164:33: note: in expansion of macro '_EXPORT_SYMBOL' 164 | #define EXPORT_SYMBOL_GPL(sym) _EXPORT_SYMBOL(sym, "_gpl") | ^~~~~~~~~~~~~~ kernel/bpf/btf.c:6372:2: note: in expansion of macro 'EXPORT_SYMBOL_GPL' 6372 | EXPORT_SYMBOL_GPL(name) | ^~~~~~~~~~~~~~~~~ kernel/bpf/btf.c:6375:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_ID_LIST' 6375 | DEFINE_KFUNC_BTF_ID_LIST(prog_test_kfunc_list); | ^~~~~~~~~~~~~~~~~~~~~~~~ >> kernel/bpf/btf.c:6375:26: error: storage size of 'prog_test_kfunc_list' isn't known 6375 | DEFINE_KFUNC_BTF_ID_LIST(prog_test_kfunc_list); | ^~~~~~~~~~~~~~~~~~~~ include/linux/export.h:98:21: note: in definition of macro '___EXPORT_SYMBOL' 98 | extern typeof(sym) sym; \ | ^~~ include/linux/export.h:160:34: note: in expansion of macro '__EXPORT_SYMBOL' 160 | #define _EXPORT_SYMBOL(sym, sec) __EXPORT_SYMBOL(sym, sec, "") | ^~~~~~~~~~~~~~~ include/linux/export.h:164:33: note: in expansion of macro '_EXPORT_SYMBOL' 164 | #define EXPORT_SYMBOL_GPL(sym) _EXPORT_SYMBOL(sym, "_gpl") | ^~~~~~~~~~~~~~ kernel/bpf/btf.c:6372:2: note: in expansion of macro 'EXPORT_SYMBOL_GPL' 6372 | EXPORT_SYMBOL_GPL(name) | ^~~~~~~~~~~~~~~~~ kernel/bpf/btf.c:6375:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_ID_LIST' 6375 | DEFINE_KFUNC_BTF_ID_LIST(prog_test_kfunc_list); | ^~~~~~~~~~~~~~~~~~~~~~~~ vim +/bpf_tcp_ca_kfunc_list +6370 kernel/bpf/btf.c 14f267d95fe4b0 Kumar Kartikeya Dwivedi 2021-10-02 6368 14f267d95fe4b0 Kumar Kartikeya Dwivedi 2021-10-02 6369 #define DEFINE_KFUNC_BTF_ID_LIST(name) \ 14f267d95fe4b0 Kumar Kartikeya Dwivedi 2021-10-02 @6370 struct kfunc_btf_id_list name = { LIST_HEAD_INIT(name.list), \ 14f267d95fe4b0 Kumar Kartikeya Dwivedi 2021-10-02 @6371 __MUTEX_INITIALIZER(name.mutex) }; \ 14f267d95fe4b0 Kumar Kartikeya Dwivedi 2021-10-02 @6372 EXPORT_SYMBOL_GPL(name) 0e32dfc80bae53 Kumar Kartikeya Dwivedi 2021-10-02 6373 0e32dfc80bae53 Kumar Kartikeya Dwivedi 2021-10-02 @6374 DEFINE_KFUNC_BTF_ID_LIST(bpf_tcp_ca_kfunc_list); c48e51c8b07aba Kumar Kartikeya Dwivedi 2021-10-02 @6375 DEFINE_KFUNC_BTF_ID_LIST(prog_test_kfunc_list); --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org --cNdxnHkX5QqsyA0e Content-Type: application/gzip Content-Disposition: attachment; filename=".config.gz" Content-Transfer-Encoding: base64 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 --cNdxnHkX5QqsyA0e-- From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: multipart/mixed; boundary="===============3609170580613103373==" MIME-Version: 1.0 From: kernel test robot To: kbuild-all@lists.01.org Subject: Re: [PATCH net v1] bpf: Fix build when CONFIG_BPF_SYSCALL is disabled Date: Wed, 10 Nov 2021 11:59:46 +0800 Message-ID: <202111101156.m5ifQ54c-lkp@intel.com> In-Reply-To: <20211110010024.31415-1-vinicius.gomes@intel.com> List-Id: --===============3609170580613103373== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Hi Vinicius, I love your patch! Yet something to improve: [auto build test ERROR on net/master] url: https://github.com/0day-ci/linux/commits/Vinicius-Costa-Gomes/bpf-F= ix-build-when-CONFIG_BPF_SYSCALL-is-disabled/20211110-090148 base: https://git.kernel.org/pub/scm/linux/kernel/git/davem/net.git fceb0= 7950a7aac43d52d8c6ef580399a8b9b68fe config: i386-debian-10.3 (attached as .config) compiler: gcc-9 (Debian 9.3.0-22) 9.3.0 reproduce (this is a W=3D1 build): # https://github.com/0day-ci/linux/commit/1e7a382c089da5714e4a94117= 65e84815cf550f9 git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Vinicius-Costa-Gomes/bpf-Fix-build= -when-CONFIG_BPF_SYSCALL-is-disabled/20211110-090148 git checkout 1e7a382c089da5714e4a9411765e84815cf550f9 # save the attached .config to linux build tree mkdir build_dir make W=3D1 O=3Dbuild_dir ARCH=3Di386 SHELL=3D/bin/bash If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot All errors (new ones prefixed by >>): kernel/bpf/btf.c: In function 'btf_seq_show': kernel/bpf/btf.c:5876:22: warning: function 'btf_seq_show' might be a ca= ndidate for 'gnu_printf' format attribute [-Wsuggest-attribute=3Dformat] 5876 | seq_vprintf((struct seq_file *)show->target, fmt, args); | ^~~~~~~~ kernel/bpf/btf.c: In function 'btf_snprintf_show': kernel/bpf/btf.c:5913:2: warning: function 'btf_snprintf_show' might be = a candidate for 'gnu_printf' format attribute [-Wsuggest-attribute=3Dformat] 5913 | len =3D vsnprintf(show->target, ssnprintf->len_left, fmt, args); | ^~~ kernel/bpf/btf.c: At top level: >> kernel/bpf/btf.c:6370:9: error: variable 'bpf_tcp_ca_kfunc_list' has ini= tializer but incomplete type 6370 | struct kfunc_btf_id_list name =3D { LIST_HEAD_INIT(name.list), = \ | ^~~~~~~~~~~~~~~~~ kernel/bpf/btf.c:6374:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_I= D_LIST' 6374 | DEFINE_KFUNC_BTF_ID_LIST(bpf_tcp_ca_kfunc_list); | ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from include/linux/rculist.h:10, from include/linux/pid.h:5, from include/linux/sched.h:14, from include/linux/ptrace.h:6, from include/uapi/asm-generic/bpf_perf_event.h:4, from ./arch/x86/include/generated/uapi/asm/bpf_perf_eve= nt.h:1, from include/uapi/linux/bpf_perf_event.h:11, from kernel/bpf/btf.c:6: >> include/linux/list.h:21:30: error: extra brace group at end of initializ= er 21 | #define LIST_HEAD_INIT(name) { &(name), &(name) } | ^ kernel/bpf/btf.c:6370:36: note: in expansion of macro 'LIST_HEAD_INIT' 6370 | struct kfunc_btf_id_list name =3D { LIST_HEAD_INIT(name.list), = \ | ^~~~~~~~~~~~~~ kernel/bpf/btf.c:6374:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_I= D_LIST' 6374 | DEFINE_KFUNC_BTF_ID_LIST(bpf_tcp_ca_kfunc_list); | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/list.h:21:30: note: (near initialization for 'bpf_tcp_ca_k= func_list') 21 | #define LIST_HEAD_INIT(name) { &(name), &(name) } | ^ kernel/bpf/btf.c:6370:36: note: in expansion of macro 'LIST_HEAD_INIT' 6370 | struct kfunc_btf_id_list name =3D { LIST_HEAD_INIT(name.list), = \ | ^~~~~~~~~~~~~~ kernel/bpf/btf.c:6374:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_I= D_LIST' 6374 | DEFINE_KFUNC_BTF_ID_LIST(bpf_tcp_ca_kfunc_list); | ^~~~~~~~~~~~~~~~~~~~~~~~ >> kernel/bpf/btf.c:6370:55: error: invalid use of undefined type 'struct k= func_btf_id_list' 6370 | struct kfunc_btf_id_list name =3D { LIST_HEAD_INIT(name.list), = \ | ^ include/linux/list.h:21:34: note: in definition of macro 'LIST_HEAD_INIT' 21 | #define LIST_HEAD_INIT(name) { &(name), &(name) } | ^~~~ kernel/bpf/btf.c:6374:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_I= D_LIST' 6374 | DEFINE_KFUNC_BTF_ID_LIST(bpf_tcp_ca_kfunc_list); | ^~~~~~~~~~~~~~~~~~~~~~~~ >> kernel/bpf/btf.c:6370:55: error: invalid use of undefined type 'struct k= func_btf_id_list' 6370 | struct kfunc_btf_id_list name =3D { LIST_HEAD_INIT(name.list), = \ | ^ include/linux/list.h:21:43: note: in definition of macro 'LIST_HEAD_INIT' 21 | #define LIST_HEAD_INIT(name) { &(name), &(name) } | ^~~~ kernel/bpf/btf.c:6374:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_I= D_LIST' 6374 | DEFINE_KFUNC_BTF_ID_LIST(bpf_tcp_ca_kfunc_list); | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/list.h:21:30: warning: excess elements in struct initializ= er 21 | #define LIST_HEAD_INIT(name) { &(name), &(name) } | ^ kernel/bpf/btf.c:6370:36: note: in expansion of macro 'LIST_HEAD_INIT' 6370 | struct kfunc_btf_id_list name =3D { LIST_HEAD_INIT(name.list), = \ | ^~~~~~~~~~~~~~ kernel/bpf/btf.c:6374:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_I= D_LIST' 6374 | DEFINE_KFUNC_BTF_ID_LIST(bpf_tcp_ca_kfunc_list); | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/list.h:21:30: note: (near initialization for 'bpf_tcp_ca_k= func_list') 21 | #define LIST_HEAD_INIT(name) { &(name), &(name) } | ^ kernel/bpf/btf.c:6370:36: note: in expansion of macro 'LIST_HEAD_INIT' 6370 | struct kfunc_btf_id_list name =3D { LIST_HEAD_INIT(name.list), = \ | ^~~~~~~~~~~~~~ kernel/bpf/btf.c:6374:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_I= D_LIST' 6374 | DEFINE_KFUNC_BTF_ID_LIST(bpf_tcp_ca_kfunc_list); | ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from include/linux/rhashtable-types.h:14, from include/linux/ipc.h:7, from include/uapi/linux/sem.h:5, from include/linux/sem.h:5, from include/linux/sched.h:15, from include/linux/ptrace.h:6, from include/uapi/asm-generic/bpf_perf_event.h:4, from ./arch/x86/include/generated/uapi/asm/bpf_perf_eve= nt.h:1, from include/uapi/linux/bpf_perf_event.h:11, from kernel/bpf/btf.c:6: >> include/linux/mutex.h:109:3: error: extra brace group at end of initiali= zer 109 | { .owner =3D ATOMIC_LONG_INIT(0) \ | ^ kernel/bpf/btf.c:6371:8: note: in expansion of macro '__MUTEX_INITIALIZE= R' 6371 | __MUTEX_INITIALIZER(name.mutex) }; \ | ^~~~~~~~~~~~~~~~~~~ kernel/bpf/btf.c:6374:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_I= D_LIST' 6374 | DEFINE_KFUNC_BTF_ID_LIST(bpf_tcp_ca_kfunc_list); | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/mutex.h:109:3: note: (near initialization for 'bpf_tcp_ca_= kfunc_list') 109 | { .owner =3D ATOMIC_LONG_INIT(0) \ | ^ kernel/bpf/btf.c:6371:8: note: in expansion of macro '__MUTEX_INITIALIZE= R' 6371 | __MUTEX_INITIALIZER(name.mutex) }; \ | ^~~~~~~~~~~~~~~~~~~ kernel/bpf/btf.c:6374:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_I= D_LIST' 6374 | DEFINE_KFUNC_BTF_ID_LIST(bpf_tcp_ca_kfunc_list); | ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from include/uapi/linux/btf.h:6, from kernel/bpf/btf.c:4: >> include/linux/types.h:170:24: error: extra brace group at end of initial= izer 170 | #define ATOMIC_INIT(i) { (i) } | ^ include/linux/atomic/atomic-long.h:19:30: note: in expansion of macro 'A= TOMIC_INIT' 19 | #define ATOMIC_LONG_INIT(i) ATOMIC_INIT(i) | ^~~~~~~~~~~ include/linux/mutex.h:109:14: note: in expansion of macro 'ATOMIC_LONG_I= NIT' 109 | { .owner =3D ATOMIC_LONG_INIT(0) \ | ^~~~~~~~~~~~~~~~ kernel/bpf/btf.c:6371:8: note: in expansion of macro '__MUTEX_INITIALIZE= R' 6371 | __MUTEX_INITIALIZER(name.mutex) }; \ | ^~~~~~~~~~~~~~~~~~~ kernel/bpf/btf.c:6374:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_I= D_LIST' 6374 | DEFINE_KFUNC_BTF_ID_LIST(bpf_tcp_ca_kfunc_list); | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/types.h:170:24: note: (near initialization for 'bpf_tcp_ca= _kfunc_list') 170 | #define ATOMIC_INIT(i) { (i) } | ^ include/linux/atomic/atomic-long.h:19:30: note: in expansion of macro 'A= TOMIC_INIT' 19 | #define ATOMIC_LONG_INIT(i) ATOMIC_INIT(i) | ^~~~~~~~~~~ include/linux/mutex.h:109:14: note: in expansion of macro 'ATOMIC_LONG_I= NIT' 109 | { .owner =3D ATOMIC_LONG_INIT(0) \ | ^~~~~~~~~~~~~~~~ kernel/bpf/btf.c:6371:8: note: in expansion of macro '__MUTEX_INITIALIZE= R' 6371 | __MUTEX_INITIALIZER(name.mutex) }; \ | ^~~~~~~~~~~~~~~~~~~ kernel/bpf/btf.c:6374:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_I= D_LIST' 6374 | DEFINE_KFUNC_BTF_ID_LIST(bpf_tcp_ca_kfunc_list); | ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from include/linux/rculist.h:10, from include/linux/pid.h:5, from include/linux/sched.h:14, from include/linux/ptrace.h:6, from include/uapi/asm-generic/bpf_perf_event.h:4, from ./arch/x86/include/generated/uapi/asm/bpf_perf_eve= nt.h:1, from include/uapi/linux/bpf_perf_event.h:11, from kernel/bpf/btf.c:6: >> include/linux/list.h:21:30: error: extra brace group at end of initializ= er 21 | #define LIST_HEAD_INIT(name) { &(name), &(name) } | ^ include/linux/mutex.h:111:18: note: in expansion of macro 'LIST_HEAD_INI= T' 111 | , .wait_list =3D LIST_HEAD_INIT(lockname.wait_list) \ | ^~~~~~~~~~~~~~ kernel/bpf/btf.c:6371:8: note: in expansion of macro '__MUTEX_INITIALIZE= R' 6371 | __MUTEX_INITIALIZER(name.mutex) }; \ | ^~~~~~~~~~~~~~~~~~~ kernel/bpf/btf.c:6374:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_I= D_LIST' 6374 | DEFINE_KFUNC_BTF_ID_LIST(bpf_tcp_ca_kfunc_list); | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/list.h:21:30: note: (near initialization for 'bpf_tcp_ca_k= func_list') 21 | #define LIST_HEAD_INIT(name) { &(name), &(name) } | ^ include/linux/mutex.h:111:18: note: in expansion of macro 'LIST_HEAD_INI= T' 111 | , .wait_list =3D LIST_HEAD_INIT(lockname.wait_list) \ | ^~~~~~~~~~~~~~ kernel/bpf/btf.c:6371:8: note: in expansion of macro '__MUTEX_INITIALIZE= R' 6371 | __MUTEX_INITIALIZER(name.mutex) }; \ | ^~~~~~~~~~~~~~~~~~~ kernel/bpf/btf.c:6374:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_I= D_LIST' 6374 | DEFINE_KFUNC_BTF_ID_LIST(bpf_tcp_ca_kfunc_list); | ^~~~~~~~~~~~~~~~~~~~~~~~ kernel/bpf/btf.c:6371:32: error: invalid use of undefined type 'struct k= func_btf_id_list' 6371 | __MUTEX_INITIALIZER(name.mutex) }; \ | ^ include/linux/list.h:21:34: note: in definition of macro 'LIST_HEAD_INIT' 21 | #define LIST_HEAD_INIT(name) { &(name), &(name) } | ^~~~ kernel/bpf/btf.c:6371:8: note: in expansion of macro '__MUTEX_INITIALIZE= R' 6371 | __MUTEX_INITIALIZER(name.mutex) }; \ | ^~~~~~~~~~~~~~~~~~~ kernel/bpf/btf.c:6374:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_I= D_LIST' 6374 | DEFINE_KFUNC_BTF_ID_LIST(bpf_tcp_ca_kfunc_list); | ^~~~~~~~~~~~~~~~~~~~~~~~ kernel/bpf/btf.c:6371:32: error: invalid use of undefined type 'struct k= func_btf_id_list' 6371 | __MUTEX_INITIALIZER(name.mutex) }; \ | ^ include/linux/list.h:21:43: note: in definition of macro 'LIST_HEAD_INIT' 21 | #define LIST_HEAD_INIT(name) { &(name), &(name) } | ^~~~ kernel/bpf/btf.c:6371:8: note: in expansion of macro '__MUTEX_INITIALIZE= R' 6371 | __MUTEX_INITIALIZER(name.mutex) }; \ | ^~~~~~~~~~~~~~~~~~~ kernel/bpf/btf.c:6374:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_I= D_LIST' 6374 | DEFINE_KFUNC_BTF_ID_LIST(bpf_tcp_ca_kfunc_list); | ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from include/linux/rhashtable-types.h:14, from include/linux/ipc.h:7, from include/uapi/linux/sem.h:5, from include/linux/sem.h:5, from include/linux/sched.h:15, from include/linux/ptrace.h:6, from include/uapi/asm-generic/bpf_perf_event.h:4, from ./arch/x86/include/generated/uapi/asm/bpf_perf_eve= nt.h:1, from include/uapi/linux/bpf_perf_event.h:11, from kernel/bpf/btf.c:6: include/linux/mutex.h:109:3: warning: excess elements in struct initiali= zer 109 | { .owner =3D ATOMIC_LONG_INIT(0) \ | ^ kernel/bpf/btf.c:6371:8: note: in expansion of macro '__MUTEX_INITIALIZE= R' 6371 | __MUTEX_INITIALIZER(name.mutex) }; \ | ^~~~~~~~~~~~~~~~~~~ kernel/bpf/btf.c:6374:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_I= D_LIST' 6374 | DEFINE_KFUNC_BTF_ID_LIST(bpf_tcp_ca_kfunc_list); | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/mutex.h:109:3: note: (near initialization for 'bpf_tcp_ca_= kfunc_list') 109 | { .owner =3D ATOMIC_LONG_INIT(0) \ | ^ kernel/bpf/btf.c:6371:8: note: in expansion of macro '__MUTEX_INITIALIZE= R' 6371 | __MUTEX_INITIALIZER(name.mutex) }; \ | ^~~~~~~~~~~~~~~~~~~ kernel/bpf/btf.c:6374:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_I= D_LIST' 6374 | DEFINE_KFUNC_BTF_ID_LIST(bpf_tcp_ca_kfunc_list); | ^~~~~~~~~~~~~~~~~~~~~~~~ >> kernel/bpf/btf.c:6370:9: error: variable 'prog_test_kfunc_list' has init= ializer but incomplete type 6370 | struct kfunc_btf_id_list name =3D { LIST_HEAD_INIT(name.list), = \ | ^~~~~~~~~~~~~~~~~ kernel/bpf/btf.c:6375:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_I= D_LIST' 6375 | DEFINE_KFUNC_BTF_ID_LIST(prog_test_kfunc_list); | ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from include/linux/rculist.h:10, from include/linux/pid.h:5, from include/linux/sched.h:14, from include/linux/ptrace.h:6, from include/uapi/asm-generic/bpf_perf_event.h:4, from ./arch/x86/include/generated/uapi/asm/bpf_perf_eve= nt.h:1, from include/uapi/linux/bpf_perf_event.h:11, from kernel/bpf/btf.c:6: >> include/linux/list.h:21:30: error: extra brace group at end of initializ= er 21 | #define LIST_HEAD_INIT(name) { &(name), &(name) } | ^ kernel/bpf/btf.c:6370:36: note: in expansion of macro 'LIST_HEAD_INIT' 6370 | struct kfunc_btf_id_list name =3D { LIST_HEAD_INIT(name.list), = \ | ^~~~~~~~~~~~~~ kernel/bpf/btf.c:6375:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_I= D_LIST' 6375 | DEFINE_KFUNC_BTF_ID_LIST(prog_test_kfunc_list); | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/list.h:21:30: note: (near initialization for 'prog_test_kf= unc_list') 21 | #define LIST_HEAD_INIT(name) { &(name), &(name) } | ^ kernel/bpf/btf.c:6370:36: note: in expansion of macro 'LIST_HEAD_INIT' 6370 | struct kfunc_btf_id_list name =3D { LIST_HEAD_INIT(name.list), = \ | ^~~~~~~~~~~~~~ kernel/bpf/btf.c:6375:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_I= D_LIST' 6375 | DEFINE_KFUNC_BTF_ID_LIST(prog_test_kfunc_list); | ^~~~~~~~~~~~~~~~~~~~~~~~ >> kernel/bpf/btf.c:6370:55: error: invalid use of undefined type 'struct k= func_btf_id_list' 6370 | struct kfunc_btf_id_list name =3D { LIST_HEAD_INIT(name.list), = \ | ^ include/linux/list.h:21:34: note: in definition of macro 'LIST_HEAD_INIT' 21 | #define LIST_HEAD_INIT(name) { &(name), &(name) } | ^~~~ kernel/bpf/btf.c:6375:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_I= D_LIST' 6375 | DEFINE_KFUNC_BTF_ID_LIST(prog_test_kfunc_list); | ^~~~~~~~~~~~~~~~~~~~~~~~ >> kernel/bpf/btf.c:6370:55: error: invalid use of undefined type 'struct k= func_btf_id_list' 6370 | struct kfunc_btf_id_list name =3D { LIST_HEAD_INIT(name.list), = \ | ^ include/linux/list.h:21:43: note: in definition of macro 'LIST_HEAD_INIT' 21 | #define LIST_HEAD_INIT(name) { &(name), &(name) } | ^~~~ kernel/bpf/btf.c:6375:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_I= D_LIST' 6375 | DEFINE_KFUNC_BTF_ID_LIST(prog_test_kfunc_list); | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/list.h:21:30: warning: excess elements in struct initializ= er 21 | #define LIST_HEAD_INIT(name) { &(name), &(name) } | ^ kernel/bpf/btf.c:6370:36: note: in expansion of macro 'LIST_HEAD_INIT' 6370 | struct kfunc_btf_id_list name =3D { LIST_HEAD_INIT(name.list), = \ | ^~~~~~~~~~~~~~ kernel/bpf/btf.c:6375:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_I= D_LIST' 6375 | DEFINE_KFUNC_BTF_ID_LIST(prog_test_kfunc_list); | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/list.h:21:30: note: (near initialization for 'prog_test_kf= unc_list') 21 | #define LIST_HEAD_INIT(name) { &(name), &(name) } | ^ kernel/bpf/btf.c:6370:36: note: in expansion of macro 'LIST_HEAD_INIT' 6370 | struct kfunc_btf_id_list name =3D { LIST_HEAD_INIT(name.list), = \ | ^~~~~~~~~~~~~~ kernel/bpf/btf.c:6375:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_I= D_LIST' 6375 | DEFINE_KFUNC_BTF_ID_LIST(prog_test_kfunc_list); | ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from include/linux/rhashtable-types.h:14, from include/linux/ipc.h:7, from include/uapi/linux/sem.h:5, from include/linux/sem.h:5, from include/linux/sched.h:15, from include/linux/ptrace.h:6, from include/uapi/asm-generic/bpf_perf_event.h:4, from ./arch/x86/include/generated/uapi/asm/bpf_perf_eve= nt.h:1, from include/uapi/linux/bpf_perf_event.h:11, from kernel/bpf/btf.c:6: >> include/linux/mutex.h:109:3: error: extra brace group at end of initiali= zer 109 | { .owner =3D ATOMIC_LONG_INIT(0) \ | ^ kernel/bpf/btf.c:6371:8: note: in expansion of macro '__MUTEX_INITIALIZE= R' 6371 | __MUTEX_INITIALIZER(name.mutex) }; \ | ^~~~~~~~~~~~~~~~~~~ kernel/bpf/btf.c:6375:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_I= D_LIST' 6375 | DEFINE_KFUNC_BTF_ID_LIST(prog_test_kfunc_list); | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/mutex.h:109:3: note: (near initialization for 'prog_test_k= func_list') 109 | { .owner =3D ATOMIC_LONG_INIT(0) \ | ^ kernel/bpf/btf.c:6371:8: note: in expansion of macro '__MUTEX_INITIALIZE= R' 6371 | __MUTEX_INITIALIZER(name.mutex) }; \ | ^~~~~~~~~~~~~~~~~~~ kernel/bpf/btf.c:6375:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_I= D_LIST' 6375 | DEFINE_KFUNC_BTF_ID_LIST(prog_test_kfunc_list); | ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from include/uapi/linux/btf.h:6, from kernel/bpf/btf.c:4: >> include/linux/types.h:170:24: error: extra brace group at end of initial= izer 170 | #define ATOMIC_INIT(i) { (i) } | ^ include/linux/atomic/atomic-long.h:19:30: note: in expansion of macro 'A= TOMIC_INIT' 19 | #define ATOMIC_LONG_INIT(i) ATOMIC_INIT(i) | ^~~~~~~~~~~ include/linux/mutex.h:109:14: note: in expansion of macro 'ATOMIC_LONG_I= NIT' 109 | { .owner =3D ATOMIC_LONG_INIT(0) \ | ^~~~~~~~~~~~~~~~ kernel/bpf/btf.c:6371:8: note: in expansion of macro '__MUTEX_INITIALIZE= R' 6371 | __MUTEX_INITIALIZER(name.mutex) }; \ | ^~~~~~~~~~~~~~~~~~~ kernel/bpf/btf.c:6375:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_I= D_LIST' 6375 | DEFINE_KFUNC_BTF_ID_LIST(prog_test_kfunc_list); | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/types.h:170:24: note: (near initialization for 'prog_test_= kfunc_list') 170 | #define ATOMIC_INIT(i) { (i) } | ^ include/linux/atomic/atomic-long.h:19:30: note: in expansion of macro 'A= TOMIC_INIT' 19 | #define ATOMIC_LONG_INIT(i) ATOMIC_INIT(i) | ^~~~~~~~~~~ include/linux/mutex.h:109:14: note: in expansion of macro 'ATOMIC_LONG_I= NIT' 109 | { .owner =3D ATOMIC_LONG_INIT(0) \ | ^~~~~~~~~~~~~~~~ kernel/bpf/btf.c:6371:8: note: in expansion of macro '__MUTEX_INITIALIZE= R' 6371 | __MUTEX_INITIALIZER(name.mutex) }; \ | ^~~~~~~~~~~~~~~~~~~ kernel/bpf/btf.c:6375:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_I= D_LIST' 6375 | DEFINE_KFUNC_BTF_ID_LIST(prog_test_kfunc_list); | ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from include/linux/rculist.h:10, from include/linux/pid.h:5, from include/linux/sched.h:14, from include/linux/ptrace.h:6, from include/uapi/asm-generic/bpf_perf_event.h:4, from ./arch/x86/include/generated/uapi/asm/bpf_perf_eve= nt.h:1, from include/uapi/linux/bpf_perf_event.h:11, from kernel/bpf/btf.c:6: >> include/linux/list.h:21:30: error: extra brace group at end of initializ= er 21 | #define LIST_HEAD_INIT(name) { &(name), &(name) } | ^ include/linux/mutex.h:111:18: note: in expansion of macro 'LIST_HEAD_INI= T' 111 | , .wait_list =3D LIST_HEAD_INIT(lockname.wait_list) \ | ^~~~~~~~~~~~~~ kernel/bpf/btf.c:6371:8: note: in expansion of macro '__MUTEX_INITIALIZE= R' 6371 | __MUTEX_INITIALIZER(name.mutex) }; \ | ^~~~~~~~~~~~~~~~~~~ kernel/bpf/btf.c:6375:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_I= D_LIST' 6375 | DEFINE_KFUNC_BTF_ID_LIST(prog_test_kfunc_list); | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/list.h:21:30: note: (near initialization for 'prog_test_kf= unc_list') 21 | #define LIST_HEAD_INIT(name) { &(name), &(name) } | ^ include/linux/mutex.h:111:18: note: in expansion of macro 'LIST_HEAD_INI= T' 111 | , .wait_list =3D LIST_HEAD_INIT(lockname.wait_list) \ | ^~~~~~~~~~~~~~ kernel/bpf/btf.c:6371:8: note: in expansion of macro '__MUTEX_INITIALIZE= R' 6371 | __MUTEX_INITIALIZER(name.mutex) }; \ | ^~~~~~~~~~~~~~~~~~~ kernel/bpf/btf.c:6375:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_I= D_LIST' 6375 | DEFINE_KFUNC_BTF_ID_LIST(prog_test_kfunc_list); | ^~~~~~~~~~~~~~~~~~~~~~~~ kernel/bpf/btf.c:6371:32: error: invalid use of undefined type 'struct k= func_btf_id_list' 6371 | __MUTEX_INITIALIZER(name.mutex) }; \ | ^ include/linux/list.h:21:34: note: in definition of macro 'LIST_HEAD_INIT' 21 | #define LIST_HEAD_INIT(name) { &(name), &(name) } | ^~~~ kernel/bpf/btf.c:6371:8: note: in expansion of macro '__MUTEX_INITIALIZE= R' 6371 | __MUTEX_INITIALIZER(name.mutex) }; \ | ^~~~~~~~~~~~~~~~~~~ kernel/bpf/btf.c:6375:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_I= D_LIST' 6375 | DEFINE_KFUNC_BTF_ID_LIST(prog_test_kfunc_list); | ^~~~~~~~~~~~~~~~~~~~~~~~ kernel/bpf/btf.c:6371:32: error: invalid use of undefined type 'struct k= func_btf_id_list' 6371 | __MUTEX_INITIALIZER(name.mutex) }; \ | ^ include/linux/list.h:21:43: note: in definition of macro 'LIST_HEAD_INIT' 21 | #define LIST_HEAD_INIT(name) { &(name), &(name) } | ^~~~ kernel/bpf/btf.c:6371:8: note: in expansion of macro '__MUTEX_INITIALIZE= R' 6371 | __MUTEX_INITIALIZER(name.mutex) }; \ | ^~~~~~~~~~~~~~~~~~~ kernel/bpf/btf.c:6375:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_I= D_LIST' 6375 | DEFINE_KFUNC_BTF_ID_LIST(prog_test_kfunc_list); | ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from include/linux/rhashtable-types.h:14, from include/linux/ipc.h:7, from include/uapi/linux/sem.h:5, from include/linux/sem.h:5, from include/linux/sched.h:15, from include/linux/ptrace.h:6, from include/uapi/asm-generic/bpf_perf_event.h:4, from ./arch/x86/include/generated/uapi/asm/bpf_perf_eve= nt.h:1, from include/uapi/linux/bpf_perf_event.h:11, from kernel/bpf/btf.c:6: include/linux/mutex.h:109:3: warning: excess elements in struct initiali= zer 109 | { .owner =3D ATOMIC_LONG_INIT(0) \ | ^ kernel/bpf/btf.c:6371:8: note: in expansion of macro '__MUTEX_INITIALIZE= R' 6371 | __MUTEX_INITIALIZER(name.mutex) }; \ | ^~~~~~~~~~~~~~~~~~~ kernel/bpf/btf.c:6375:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_I= D_LIST' 6375 | DEFINE_KFUNC_BTF_ID_LIST(prog_test_kfunc_list); | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/mutex.h:109:3: note: (near initialization for 'prog_test_k= func_list') 109 | { .owner =3D ATOMIC_LONG_INIT(0) \ | ^ kernel/bpf/btf.c:6371:8: note: in expansion of macro '__MUTEX_INITIALIZE= R' 6371 | __MUTEX_INITIALIZER(name.mutex) }; \ | ^~~~~~~~~~~~~~~~~~~ kernel/bpf/btf.c:6375:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_I= D_LIST' 6375 | DEFINE_KFUNC_BTF_ID_LIST(prog_test_kfunc_list); | ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from include/linux/linkage.h:7, from include/linux/kernel.h:8, from arch/x86/include/asm/percpu.h:27, from arch/x86/include/asm/current.h:6, from include/linux/sched.h:12, from include/linux/ptrace.h:6, from include/uapi/asm-generic/bpf_perf_event.h:4, from ./arch/x86/include/generated/uapi/asm/bpf_perf_eve= nt.h:1, from include/uapi/linux/bpf_perf_event.h:11, from kernel/bpf/btf.c:6: >> kernel/bpf/btf.c:6374:26: error: storage size of 'bpf_tcp_ca_kfunc_list'= isn't known 6374 | DEFINE_KFUNC_BTF_ID_LIST(bpf_tcp_ca_kfunc_list); | ^~~~~~~~~~~~~~~~~~~~~ include/linux/export.h:98:21: note: in definition of macro '___EXPORT_SY= MBOL' 98 | extern typeof(sym) sym; \ | ^~~ include/linux/export.h:160:34: note: in expansion of macro '__EXPORT_SYM= BOL' 160 | #define _EXPORT_SYMBOL(sym, sec) __EXPORT_SYMBOL(sym, sec, "") | ^~~~~~~~~~~~~~~ include/linux/export.h:164:33: note: in expansion of macro '_EXPORT_SYMB= OL' 164 | #define EXPORT_SYMBOL_GPL(sym) _EXPORT_SYMBOL(sym, "_gpl") | ^~~~~~~~~~~~~~ kernel/bpf/btf.c:6372:2: note: in expansion of macro 'EXPORT_SYMBOL_GPL' 6372 | EXPORT_SYMBOL_GPL(name) | ^~~~~~~~~~~~~~~~~ kernel/bpf/btf.c:6374:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_I= D_LIST' 6374 | DEFINE_KFUNC_BTF_ID_LIST(bpf_tcp_ca_kfunc_list); | ^~~~~~~~~~~~~~~~~~~~~~~~ >> kernel/bpf/btf.c:6374:26: error: storage size of 'bpf_tcp_ca_kfunc_list'= isn't known 6374 | DEFINE_KFUNC_BTF_ID_LIST(bpf_tcp_ca_kfunc_list); | ^~~~~~~~~~~~~~~~~~~~~ include/linux/export.h:98:21: note: in definition of macro '___EXPORT_SY= MBOL' 98 | extern typeof(sym) sym; \ | ^~~ include/linux/export.h:160:34: note: in expansion of macro '__EXPORT_SYM= BOL' 160 | #define _EXPORT_SYMBOL(sym, sec) __EXPORT_SYMBOL(sym, sec, "") | ^~~~~~~~~~~~~~~ include/linux/export.h:164:33: note: in expansion of macro '_EXPORT_SYMB= OL' 164 | #define EXPORT_SYMBOL_GPL(sym) _EXPORT_SYMBOL(sym, "_gpl") | ^~~~~~~~~~~~~~ kernel/bpf/btf.c:6372:2: note: in expansion of macro 'EXPORT_SYMBOL_GPL' 6372 | EXPORT_SYMBOL_GPL(name) | ^~~~~~~~~~~~~~~~~ kernel/bpf/btf.c:6374:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_I= D_LIST' 6374 | DEFINE_KFUNC_BTF_ID_LIST(bpf_tcp_ca_kfunc_list); | ^~~~~~~~~~~~~~~~~~~~~~~~ >> kernel/bpf/btf.c:6375:26: error: storage size of 'prog_test_kfunc_list' = isn't known 6375 | DEFINE_KFUNC_BTF_ID_LIST(prog_test_kfunc_list); | ^~~~~~~~~~~~~~~~~~~~ include/linux/export.h:98:21: note: in definition of macro '___EXPORT_SY= MBOL' 98 | extern typeof(sym) sym; \ | ^~~ include/linux/export.h:160:34: note: in expansion of macro '__EXPORT_SYM= BOL' 160 | #define _EXPORT_SYMBOL(sym, sec) __EXPORT_SYMBOL(sym, sec, "") | ^~~~~~~~~~~~~~~ include/linux/export.h:164:33: note: in expansion of macro '_EXPORT_SYMB= OL' 164 | #define EXPORT_SYMBOL_GPL(sym) _EXPORT_SYMBOL(sym, "_gpl") | ^~~~~~~~~~~~~~ kernel/bpf/btf.c:6372:2: note: in expansion of macro 'EXPORT_SYMBOL_GPL' 6372 | EXPORT_SYMBOL_GPL(name) | ^~~~~~~~~~~~~~~~~ kernel/bpf/btf.c:6375:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_I= D_LIST' 6375 | DEFINE_KFUNC_BTF_ID_LIST(prog_test_kfunc_list); | ^~~~~~~~~~~~~~~~~~~~~~~~ >> kernel/bpf/btf.c:6375:26: error: storage size of 'prog_test_kfunc_list' = isn't known 6375 | DEFINE_KFUNC_BTF_ID_LIST(prog_test_kfunc_list); | ^~~~~~~~~~~~~~~~~~~~ include/linux/export.h:98:21: note: in definition of macro '___EXPORT_SY= MBOL' 98 | extern typeof(sym) sym; \ | ^~~ include/linux/export.h:160:34: note: in expansion of macro '__EXPORT_SYM= BOL' 160 | #define _EXPORT_SYMBOL(sym, sec) __EXPORT_SYMBOL(sym, sec, "") | ^~~~~~~~~~~~~~~ include/linux/export.h:164:33: note: in expansion of macro '_EXPORT_SYMB= OL' 164 | #define EXPORT_SYMBOL_GPL(sym) _EXPORT_SYMBOL(sym, "_gpl") | ^~~~~~~~~~~~~~ kernel/bpf/btf.c:6372:2: note: in expansion of macro 'EXPORT_SYMBOL_GPL' 6372 | EXPORT_SYMBOL_GPL(name) | ^~~~~~~~~~~~~~~~~ kernel/bpf/btf.c:6375:1: note: in expansion of macro 'DEFINE_KFUNC_BTF_I= D_LIST' 6375 | DEFINE_KFUNC_BTF_ID_LIST(prog_test_kfunc_list); | ^~~~~~~~~~~~~~~~~~~~~~~~ vim +/bpf_tcp_ca_kfunc_list +6370 kernel/bpf/btf.c 14f267d95fe4b0 Kumar Kartikeya Dwivedi 2021-10-02 6368 = 14f267d95fe4b0 Kumar Kartikeya Dwivedi 2021-10-02 6369 #define DEFINE_KFU= NC_BTF_ID_LIST(name) \ 14f267d95fe4b0 Kumar Kartikeya Dwivedi 2021-10-02 @6370 struct kfunc_btf_= id_list name =3D { LIST_HEAD_INIT(name.list), \ 14f267d95fe4b0 Kumar Kartikeya Dwivedi 2021-10-02 @6371 __MUTEX_INI= TIALIZER(name.mutex) }; \ 14f267d95fe4b0 Kumar Kartikeya Dwivedi 2021-10-02 @6372 EXPORT_SYMBOL_GPL= (name) 0e32dfc80bae53 Kumar Kartikeya Dwivedi 2021-10-02 6373 = 0e32dfc80bae53 Kumar Kartikeya Dwivedi 2021-10-02 @6374 DEFINE_KFUNC_BTF_I= D_LIST(bpf_tcp_ca_kfunc_list); c48e51c8b07aba Kumar Kartikeya Dwivedi 2021-10-02 @6375 DEFINE_KFUNC_BTF_I= D_LIST(prog_test_kfunc_list); --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org --===============3609170580613103373== Content-Type: application/gzip MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="config.gz" 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 AMoluTXZFvlgkukFaWXYuez/SzbYaM4kAgA= --===============3609170580613103373==--