Module build fails on CentOS 8 kernel-4.18.0-168
Christopher Spiller
self at chrisspiller.me
Sat Jan 18 05:58:04 CET 2020
I noticed wireguard failing to start after a recent upgrade. After a
bit of digging, I found the dkms build failing. From the build log:
/var/lib/dkms/wireguard/0.0.20200105/build/compat/compat.h:838:21:
error: redeclaration of enumerator ‘NLA_UNSPEC’
#define NLA_MIN_LEN NLA_UNSPEC
^~~~~~~~~~
./include/net/netlink.h:186:2: note: in expansion of macro ‘NLA_MIN_LEN’
NLA_MIN_LEN,
^~~~~~~~~~~
In file included from ./include/net/rtnetlink.h:6,
from ./include/net/sch_generic.h:19,
from ./include/linux/filter.h:25,
from ./include/net/sock.h:64,
from ./include/linux/tcp.h:23,
from ./include/linux/ipv6.h:106,
from ./include/net/ipv6.h:16,
from
/var/lib/dkms/wireguard/0.0.20200105/build/compat/compat.h:896,
from <command-line>:
./include/net/netlink.h:166:2: note: previous definition of
‘NLA_UNSPEC’ was here
NLA_UNSPEC,
^~~~~~~~~~
./include/net/ip6_fib.h: In function ‘fib6_info_release’:
/var/lib/dkms/wireguard/0.0.20200105/build/compat/compat.h:822:18:
error: implicit declaration of function ‘call_rcu_bh’; did you mean
‘call_rcu’? [-Werror=implicit-function-declaration]
#define call_rcu call_rcu_bh
^~~~~~~~~~~
./include/net/ip6_fib.h:300:3: note: in expansion of macro ‘call_rcu’
call_rcu(&f6i->rcu, fib6_info_destroy_rcu);
^~~~~~~~
/var/lib/dkms/wireguard/0.0.20200105/build/queueing.h: In function
‘wg_reset_packet’:
/var/lib/dkms/wireguard/0.0.20200105/build/compat/compat.h:788:39:
error: too many arguments to function ‘skb_probe_transport_header’
#define skb_probe_transport_header(a) skb_probe_transport_header(a, 0)
^~~~~~~~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/wireguard/0.0.20200105/build/queueing.h:106:2: note: in
expansion of macro ‘skb_probe_transport_header’
skb_probe_transport_header(skb);
^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from
/var/lib/dkms/wireguard/0.0.20200105/build/compat/compat.h:787,
from <command-line>:
./include/linux/skbuff.h:2564:20: note: declared here
static inline void skb_probe_transport_header(struct sk_buff *skb)
^~~~~~~~~~~~~~~~~~~~~~~~~~
I'm not sure about the redeclaration of enumerator or implicit
declaration errors, but I did find a change to
skb_probe_transport_header here:
https://github.com/torvalds/linux/commit/d2aa125d629080c4f3e31f23b7f612ef6b8492ac#diff-ce59bbd8b4efd2475bfd7b50fe420671
Thanks,
Chris
More information about the WireGuard
mailing list