@ddstreet, PersistentKeepalive is not needed as you'll see in the steps
to reproduce.

** Description changed:

  [impact]
  
  systemd-networkd uses incorrect netlink attribute length for wireguard's
  persistent keepalive interval, which logs error messages from the
  kernel, and may incorrectly set the parameter.
  
  [test case]
  
- TBD
+ Only 1 Bionic VM is required to reproduce the problem:
+ 
+ $ lxc launch images:ubuntu/bionic --vm -c security.secureboot=false foo
+ $ sleep 10 # allow booting
+ $ lxc exec foo -- apt install -y software-properties-common
+ $ lxc exec foo -- add-apt-repository -y ppa:wireguard/wireguard
+ $ lxc exec foo -- apt install -y wireguard-tools
+ 
+ $ cat << EOF | lxc exec foo -- tee /etc/systemd/network/wg0.netdev
+ # foo
+ [NetDev]
+ Name=wg0
+ Kind=wireguard
+ 
+ [WireGuard]
+ ListenPort=5555
+ PrivateKey=cBkljQSKhtEe/U8GZmCAk2MBbKWL4TLC9PVtbMFyCVQ=
+ 
+ [WireGuardPeer]
+ PublicKey=emfIuZ3hZ+AnWIrKex/EqCp2mfzip8AxJu6RuweyRGc=
+ AllowedIPs=192.168.255.2
+ Endpoint=bar.lxd:5555
+ EOF
+ 
+ $ cat << EOF | lxc exec foo -- tee /etc/systemd/network/wg0.network
+ # foo
+ [Match]
+ Name=wg0
+ 
+ [Network]
+ Address=192.168.255.1/24
+ EOF
+ 
+ $ lxc exec foo -- systemctl restart systemd-networkd
+ 
+ # notice the invalid length in dmesg
+ $ lxc exec foo -- journalctl -kn 8
+ -- Logs begin at Mon 2020-05-11 16:56:40 UTC, end at Mon 2020-05-11 17:03:46 
UTC. --
+ May 11 16:58:25 foo kernel: nf_tables: (c) 2007-2009 Patrick McHardy 
<ka...@trash.net>
+ May 11 17:01:57 foo kernel: PKCS#7 signature not signed with a trusted key
+ May 11 17:01:57 foo kernel: wireguard: module verification failed: signature 
and/or required key missing - tainting kernel
+ May 11 17:01:57 foo kernel: wireguard: WireGuard 1.0.20200429 loaded. See 
www.wireguard.com for information.
+ May 11 17:01:57 foo kernel: wireguard: Copyright (C) 2015-2019 Jason A. 
Donenfeld <ja...@zx2c4.com>. All Rights Reserved.
+ May 11 17:01:57 foo kernel: netlink: 'systemd-network': attribute type 5 has 
an invalid length.
+ May 11 17:01:57 foo kernel: netlink: 'systemd-network': attribute type 5 has 
an invalid length.
+ May 11 17:02:23 foo kernel: netlink: 'systemd-network': attribute type 5 has 
an invalid length.
  
  [regression potential]
  
  this adjusts the length of the specific netlink parameter, so any
  regression would likely relate to incorrectly setting the persistent
  keepalive interval parameter, or failure to set the parameter.
  
  [scope]
  
  this is needed only for Bionic.
  
  this was fixed upstream in commit
  7d0b26a027118ca063780421cb31c74e9d2664ee which was first included in
  v240, so this is fixed in Eoan and later.  Xenial does not include
  support for wireguard, so this does not apply there.
  
  [original description]
  
  This morning, our 2 Bionic machine configured with the wireguard's PPA
  and using systemd-networkd to configure the wireguard tunnel started
  misbehaving. Why this started just now is unclear ATM but their dmesg
  was filled with this:
  
  validate_nla: 100 callbacks suppressed
  netlink: 'systemd-network': attribute type 5 has an invalid length.
  netlink: 'systemd-network': attribute type 5 has an invalid length.
  netlink: 'systemd-network': attribute type 5 has an invalid length.
  netlink: 'systemd-network': attribute type 5 has an invalid length.
  netlink: 'systemd-network': attribute type 5 has an invalid length.
  netlink: 'systemd-network': attribute type 5 has an invalid length.
  netlink: 'systemd-network': attribute type 5 has an invalid length.
  netlink: 'systemd-network': attribute type 5 has an invalid length.
  netlink: 'systemd-network': attribute type 5 has an invalid length.
  netlink: 'systemd-network': attribute type 5 has an invalid length.
  
  Folks in #systemd mentioned
  https://github.com/systemd/systemd/issues/11575 which points to 2
  commits missing from Bionic's systemd version:
  
  
https://github.com/systemd/systemd/commit/7d0b26a027118ca063780421cb31c74e9d2664ee
  
https://github.com/systemd/systemd/commit/624a47694cad4c87b2e807c32db656f3e9d679c5
  
  Focal's systemd have the above commits. Would it be possible to backport
  those 2 commits to Bionic?
  
  Additional information:
  
  # uname -a
  Linux noc-eu1 4.15.0-99-generic #100-Ubuntu SMP Wed Apr 22 20:32:56 UTC 2020 
x86_64 x86_64 x86_64 GNU/Linux
  
  # apt-cache policy systemd wireguard{,-tools,-dkms}
  systemd:
    Installed: 237-3ubuntu10.39
    Candidate: 237-3ubuntu10.39
    Version table:
   *** 237-3ubuntu10.39 500
          500 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 
Packages
          100 /var/lib/dpkg/status
       237-3ubuntu10.38 500
          500 http://security.ubuntu.com/ubuntu bionic-security/main amd64 
Packages
       237-3ubuntu10 500
          500 http://archive.ubuntu.com/ubuntu bionic/main amd64 Packages
  wireguard:
    Installed: 1.0.20200319-1ubuntu1~18.04
    Candidate: 1.0.20200319-1ubuntu1~18.04
    Version table:
   *** 1.0.20200319-1ubuntu1~18.04 500
          500 http://ppa.launchpad.net/wireguard/wireguard/ubuntu bionic/main 
amd64 Packages
          500 http://ppa.launchpad.net/wireguard/wireguard/ubuntu bionic/main 
i386 Packages
          100 /var/lib/dpkg/status
  wireguard-tools:
    Installed: 1.0.20200319-1ubuntu1~18.04
    Candidate: 1.0.20200319-1ubuntu1~18.04
    Version table:
   *** 1.0.20200319-1ubuntu1~18.04 500
          500 http://ppa.launchpad.net/wireguard/wireguard/ubuntu bionic/main 
amd64 Packages
          100 /var/lib/dpkg/status
  wireguard-dkms:
    Installed: 1.0.20200429-2~18.04
    Candidate: 1.0.20200429-2~18.04
    Version table:
   *** 1.0.20200429-2~18.04 500
          500 http://ppa.launchpad.net/wireguard/wireguard/ubuntu bionic/main 
amd64 Packages
          500 http://ppa.launchpad.net/wireguard/wireguard/ubuntu bionic/main 
i386 Packages
          100 /var/lib/dpkg/status

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1877159

Title:
  netlink: 'systemd-network': attribute type 5 has an invalid length.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1877159/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to