[ovs-dev] ovs datapath module fails to compile on latest CentOS 7.6 kernels (3.10.0-957.21.3.el7.x86_64) with "previous implicit declaration of 'atomic_read' was here return atomic_read(&key->enabled)"

Fred Neubauer fred.neubauer at gmail.com
Mon Jun 24 11:14:43 UTC 2019


Hi,

When compiling the openvswitch datapath module with "make rpm-fedora-kmod"
on the latest CentOS kernels that have the vulnerability fixes
for Zombieload / MDS, it fails with the following errors:

make -C /lib/modules/3.10.0-957.21.3.el7.x86_64/build
 M=/home/neubauer/git/ovs/rpm/rpmbuild/BUILD/openvswitch-2.11.90/_3.10.0-957.21.3.el7.x86_64/datapath/linux
modules
make[2]: Entering directory `/usr/src/kernels/3.10.0-957.21.3.el7.x86_64'
  CC [M]
 /home/neubauer/git/ovs/rpm/rpmbuild/BUILD/openvswitch-2.11.90/_3.10.0-957.21.3.el7.x86_64/datapath/linux/actions.o
  CC [M]
 /home/neubauer/git/ovs/rpm/rpmbuild/BUILD/openvswitch-2.11.90/_3.10.0-957.21.3.el7.x86_64/datapath/linux/conntrack.o
In file included from ./arch/x86/include/asm/irqflags.h:8:0,
                 from include/linux/irqflags.h:15,
                 from ./arch/x86/include/asm/processor.h:30,
                 from ./arch/x86/include/asm/cpufeature.h:7,
                 from ./arch/x86/include/asm/thread_info.h:22,
                 from include/linux/thread_info.h:66,
                 from include/linux/preempt.h:9,
                 from include/linux/spinlock.h:50,
                 from include/linux/mm_types.h:8,
                 from include/linux/kmemcheck.h:4,
                 from include/linux/skbuff.h:18,
                 from
/home/neubauer/git/ovs/rpm/rpmbuild/BUILD/openvswitch-2.11.90/_3.10.0-957.21.3.el7.x86_64/../datapath/linux/compat/include/linux/skbuff.h:17,
                 from
/home/neubauer/git/ovs/rpm/rpmbuild/BUILD/openvswitch-2.11.90/_3.10.0-957.21.3.el7.x86_64/datapath/linux/actions.c:21:
/home/neubauer/git/ovs/rpm/rpmbuild/BUILD/openvswitch-2.11.90/_3.10.0-957.21.3.el7.x86_64/../datapath/linux/compat/include/linux/static_key.h:
In function 'rpl_static_key_count':
/home/neubauer/git/ovs/rpm/rpmbuild/BUILD/openvswitch-2.11.90/_3.10.0-957.21.3.el7.x86_64/../datapath/linux/compat/include/linux/static_key.h:39:2:
error: implicit declaration of function 'atomic_read'
[-Werror=implicit-function-declaration]
  return atomic_read(&key->enabled);
  ^
In file included from include/linux/atomic.h:4:0,
                 from ./arch/x86/include/asm/thread_info.h:23,
                 from include/linux/thread_info.h:66,
                 from include/linux/preempt.h:9,
                 from include/linux/spinlock.h:50,
                 from include/linux/mm_types.h:8,
                 from include/linux/kmemcheck.h:4,
                 from include/linux/skbuff.h:18,
                 from
/home/neubauer/git/ovs/rpm/rpmbuild/BUILD/openvswitch-2.11.90/_3.10.0-957.21.3.el7.x86_64/../datapath/linux/compat/include/linux/skbuff.h:17,
                 from
/home/neubauer/git/ovs/rpm/rpmbuild/BUILD/openvswitch-2.11.90/_3.10.0-957.21.3.el7.x86_64/datapath/linux/actions.c:21:
./arch/x86/include/asm/atomic.h: At top level:
./arch/x86/include/asm/atomic.h:23:28: error: static declaration of
'atomic_read' follows non-static declaration
 static __always_inline int atomic_read(const atomic_t *v)
                            ^
As wel are dependent on the STT portion of the module we cannot upgrade
until we can compile the custom openvswitch module, has anyone else run
into this error?

Regards,
Fred Neubauer


More information about the dev mailing list