** Description changed:

  [impact]
  
  newer kernels introduced a new capability, and existing systemd doesn't
  have the name mapping for the new cap (since the mapping table is
  generated at systemd compile time), so it fails when trying to map the
  capability to a user-facing name, which causes failure when running
  commands like 'systemctl show'
  
  [test case]
  
  install a focal system, and install the 5.8 (or newer) kernel, e.g. from
  linux-generic-hwe-20.04-edge, and reboot into the new kernel.
  
  Find any service that does not specify its CapabilityBoundingSet; e.g.
  'apparmor', and run systemctl show on it:
  
  ubuntu@lp1905245-f:~$ systemctl show -p CapabilityBoundingSet apparmor
  Failed to parse bus message: Invalid argument
  
  the command should correctly show the value, e.g.:
  $ systemctl show -p CapabilityBoundingSet apparmor
  CapabilityBoundingSet=cap_chown cap_dac_override ...etc...
  
  [regression potential]
  
  a regression would likely occur while systemd is parsing or printing or
  otherwise handling kernel capabilities. A regression could happen when
  running systemd commands, such as systemctl, or when pid1 is managing
  services.
  
  [scope]
  
- this is needed only in focal (and possibly bionic).
+ this is needed only in b and f.
  
  This is fixed upstream by PR 16424:
  https://github.com/systemd/systemd/pull/16424
  which was first included in v246, so this is already fixed in groovy and 
later.
  
- this was introduced externally from systemd, with the new capability in the 
kernel, so this fix technically is needed in x/b/f. However, x is unlikely to 
get a new kernel capability during the rest of its life cycle.
- For b, unless a kernel is added that includes a new capability, this patch is 
not needed.
+ Though b is unlikely to have the 5.8 kernel backported directly during
+ its remaining lifetime, this bug is reproducable when running a b
+ container on a host system with the 5.8 kernel, so this is needed for b.
+ 
+ This bug was introduced upstream with commit
+ dd1f5bd0aa584c5e5e10fddc735155c3501eb21e which was first included in
+ v235, so this bug does not exist in x.
  
  [original description]
  
  When I run `systemctl show myservice.service`, I get the following error
  message:
  
     Failed to parse bus message: Invalid argument
  
  systemd version: 245.4-4ubuntu3.3
  linux version: 5.8.0-29-generic #31~20.04.1-Ubuntu  (From 
linux-generic-hwe-20.04-edge)
  
  This is a bug that has been fixed in Debian. See https://bugs.debian.org
  /cgi-bin/bugreport.cgi?bug=964926
  
  Please can we port the fix to the ubuntu 20.04 version.

** Description changed:

  [impact]
  
  newer kernels introduced a new capability, and existing systemd doesn't
  have the name mapping for the new cap (since the mapping table is
  generated at systemd compile time), so it fails when trying to map the
  capability to a user-facing name, which causes failure when running
  commands like 'systemctl show'
  
  [test case]
  
  install a focal system, and install the 5.8 (or newer) kernel, e.g. from
  linux-generic-hwe-20.04-edge, and reboot into the new kernel.
  
  Find any service that does not specify its CapabilityBoundingSet; e.g.
  'apparmor', and run systemctl show on it:
  
  ubuntu@lp1905245-f:~$ systemctl show -p CapabilityBoundingSet apparmor
  Failed to parse bus message: Invalid argument
  
  the command should correctly show the value, e.g.:
  $ systemctl show -p CapabilityBoundingSet apparmor
  CapabilityBoundingSet=cap_chown cap_dac_override ...etc...
  
  [regression potential]
  
  a regression would likely occur while systemd is parsing or printing or
  otherwise handling kernel capabilities. A regression could happen when
  running systemd commands, such as systemctl, or when pid1 is managing
  services.
  
  [scope]
  
- this is needed only in b and f.
+ this is needed only in focal (and possibly bionic).
  
  This is fixed upstream by PR 16424:
  https://github.com/systemd/systemd/pull/16424
  which was first included in v246, so this is already fixed in groovy and 
later.
  
- Though b is unlikely to have the 5.8 kernel backported directly during
- its remaining lifetime, this bug is reproducable when running a b
- container on a host system with the 5.8 kernel, so this is needed for b.
+ this was introduced externally from systemd, with the new capability in the 
kernel, so this fix technically is needed in x/b/f. However, x is unlikely to 
get a new kernel capability during the rest of its life cycle.
+ For b, unless a kernel is added that includes a new capability, this patch is 
not needed.
  
- This bug was introduced upstream with commit
- dd1f5bd0aa584c5e5e10fddc735155c3501eb21e which was first included in
- v235, so this bug does not exist in x.
+ [other info]
+ 
+ there is a testcase-only related bug 1905044
  
  [original description]
  
  When I run `systemctl show myservice.service`, I get the following error
  message:
  
     Failed to parse bus message: Invalid argument
  
  systemd version: 245.4-4ubuntu3.3
  linux version: 5.8.0-29-generic #31~20.04.1-Ubuntu  (From 
linux-generic-hwe-20.04-edge)
  
  This is a bug that has been fixed in Debian. See https://bugs.debian.org
  /cgi-bin/bugreport.cgi?bug=964926
  
  Please can we port the fix to the ubuntu 20.04 version.

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

Title:
  "Failed to parse bus message: Invalid argument" with Linux 5.8

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

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to