https://bugs.dpdk.org/show_bug.cgi?id=1025
Bug ID: 1025 Summary: [dpdk 22.07/dpdk-next-net] kernel/linux/kni meson build failed on Ub22.04/Ub20.04/Fedora36/Centos7.9/SUSE15/RHEL8.6 Product: DPDK Version: unspecified Hardware: All OS: All Status: UNCONFIRMED Severity: critical Priority: Normal Component: core Assignee: dev@dpdk.org Reporter: daxuex....@intel.com Target Milestone: --- [Dpdk version] dpdk branch: fb96caa56aabaa425ae66cd638ce9b9065828044 [OS version] OS: FC36-64 Kernel Version: 5.17.7-300.fc36.x86_64 GCC Version: gcc (GCC) 12.1.1 20220507 (Red Hat 12.1.1-1) Clang Version: 14.0.0 (Fedora 14.0.0-1.fc36) OS: RHEL86-64 Kernel Version: 4.18.0-372.9.1.el8.x86_64 GCC Version: gcc (GCC) 8.5.0 20210514 (Red Hat 8.5.0-13) Clang Version: 14.0.0 (Red Hat 14.0.0-1.module_el8.7.0+1142+5343df54) OS: SUSE15-64 Kernel Version: 5.3.18-57-default GCC Version: gcc (SUSE Linux) 7.5.0 Clang Version: 11.0.1 OS: UB2004-64 Kernel Version: 5.8.0-48-generic GCC Version: gcc (Ubuntu 10.3.0-1ubuntu1~20.04) 10.3.0 Clang Version: 10.0.0-4ubuntu1 OS: UB2204-64 Kernel Version: 5.15.0-25-generic GCC Version: gcc (Ubuntu 11.2.0-19ubuntu1) 11.2.0 OS: CentOS79-64 Kernel Version: 3.10.0-1160.el7.x86_64 GCC Version: gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-44) [Test Setup] # meson --werror -Denable_kmods=True -Dlibdir=lib -Dexamples=all --default-library=static gcc-linux-app # ninja -C gcc-linux-app [log] [3506/3587] Generating kernel/linux/kni/rte_kni with a custom command FAILED: kernel/linux/kni/rte_kni.ko /usr/bin/make -j4 -C /lib/modules/5.15.0-25-generic/build M=/tmp/dpdk/gcc-linux-app/kernel/linux/kni src=/tmp/dpdk/kernel/linux/kni 'MODULE_CFLAGS= -include /tmp/dpdk/config/rte_config.h -I/tmp/dpdk/lib/eal/include -I/tmp/dpdk/lib/kni -I/tmp/dpdk/gcc-linux-app -I/tmp/dpdk/kernel/linux/kni' modules make: Entering directory '/usr/src/linux-headers-5.15.0-25-generic' CC [M] /tmp/dpdk/gcc-linux-app/kernel/linux/kni/kni_misc.o CC [M] /tmp/dpdk/gcc-linux-app/kernel/linux/kni/kni_net.o /tmp/dpdk/kernel/linux/kni/kni_net.c: In function ‘kni_net_rx_normal’: /tmp/dpdk/kernel/linux/kni/kni_net.c:448:2: error: #else after #else 448 | #else | ^~~~ /tmp/dpdk/kernel/linux/kni/kni_net.c:444: error: the conditional began here 444 | #ifdef HAVE_NETIF_RX_NI | /tmp/dpdk/kernel/linux/kni/kni_net.c:444: error: unterminated #else /tmp/dpdk/kernel/linux/kni/kni_net.c:445:17: error: expected declaration or statement at end of input 445 | netif_rx_ni(skb); | ^~~~~~~~~~~ /tmp/dpdk/kernel/linux/kni/kni_net.c:445:17: error: expected declaration or statement at end of input /tmp/dpdk/kernel/linux/kni/kni_net.c:382:18: warning: unused variable ‘ret’ [-Wunused-variable] 382 | uint32_t ret; | ^~~ At top level: /tmp/dpdk/kernel/linux/kni/kni_net.c:297:1: warning: ‘kni_net_tx’ defined but not used [-Wunused-function] 297 | kni_net_tx(struct sk_buff *skb, struct net_device *dev) | ^~~~~~~~~~ /tmp/dpdk/kernel/linux/kni/kni_net.c:284:1: warning: ‘kni_net_config’ defined but not used [-Wunused-function] 284 | kni_net_config(struct net_device *dev, struct ifmap *map) | ^~~~~~~~~~~~~~ /tmp/dpdk/kernel/linux/kni/kni_net.c:202:1: warning: ‘kni_net_release’ defined but not used [-Wunused-function] 202 | kni_net_release(struct net_device *dev) | ^~~~~~~~~~~~~~~ /tmp/dpdk/kernel/linux/kni/kni_net.c:180:1: warning: ‘kni_net_open’ defined but not used [-Wunused-function] 180 | kni_net_open(struct net_device *dev) | ^~~~~~~~~~~~ /tmp/dpdk/kernel/linux/kni/kni_net.c:38:21: warning: ‘kni_net_rx_func’ defined but not used [-Wunused-variable] 38 | static kni_net_rx_t kni_net_rx_func = kni_net_rx_normal; | ^~~~~~~~~~~~~~~ make[1]: *** [scripts/Makefile.build:285: /tmp/dpdk/gcc-linux-app/kernel/linux/kni/kni_net.o] Error 1 make[1]: *** Waiting for unfinished jobs.... make: *** [Makefile:1875: /tmp/dpdk/gcc-linux-app/kernel/linux/kni] Error 2 make: Leaving directory '/usr/src/linux-headers-5.15.0-25-generic' [3513/3587] Compiling C object app/test/dpdk-test.p/test_ring.c.o ninja: build stopped: subcommand failed. [bad commit] commit c98600d4bed6d15599e448990f2ba117ca938a2d Author: Jiri Slaby <jsl...@suse.cz> Date: Wed Jun 1 08:53:58 2022 +0200 kni: fix build with Linux 5.18 Since commit 2655926aea9b (net: Remove netif_rx_any_context() and netif_rx_ni().) in 5.18, netif_rx_ni() no longer exists as netif_rx() can be called from any context. So define HAVE_NETIF_RX_NI for older releases and call the appropriate function in kni_net. netif_rx_ni() must be used on older kernel since netif_rx() might might lead to deadlocks or other problems there. Cc: sta...@dpdk.org Signed-off-by: Jiri Slaby <jsl...@suse.cz> Reviewed-by: Andrew Rybchenko <andrew.rybche...@oktetlabs.ru> kernel/linux/kni/compat.h | 4 ++++ kernel/linux/kni/kni_net.c | 4 ++++ 2 files changed, 8 insertions(+) -- You are receiving this mail because: You are the assignee for the bug.