I didn't find any conflict or overlap applying the btrfs-util-unbreak-tmpfiles-subvol-creation on top of the other patches on the source package systemd_237-3ubuntu10.9.debian, although the codebase of src/basic/btrfs-util.c affected by the patch had different hunks regards to the file in systemd_239. So to apply the patch conceived by Brian Murray on bionic I only had to add the missing macro FLAGS_SET on macro.h and refreshed the patch here's the missing part to make it compile on bionic
Index: systemd-237/src/basic/macro.h =================================================================== --- systemd-237.orig/src/basic/macro.h +++ systemd-237/src/basic/macro.h @@ -351,6 +351,9 @@ static inline unsigned long ALIGN_POWER2 #define SET_FLAG(v, flag, b) \ (v) = (b) ? ((v) | (flag)) : ((v) & ~(flag)) +#define FLAGS_SET(v, flags) \ + (((v) & (flags)) == (flags)) + #define CASE_F(X) case X: #define CASE_F_1(CASE, X) CASE_F(X) #define CASE_F_2(CASE, X, ...) CASE(X) CASE_F_1(CASE, __VA_ARGS__) The error of tmp disappeared at the boot, and the security issues should be patched by the preceding CVE-2018-6954* patches. Let me know if I should submit the patch. Anyway I'm not a good programmer so wait for hints of maintainers, Brian Murray or other guru. Regards -- You received this bug notification because you are a member of Ubuntu Touch seeded packages, which is subscribed to systemd in Ubuntu. https://bugs.launchpad.net/bugs/1804603 Title: systemd-tmpfiles-setup.service fails on btrfs Status in systemd package in Ubuntu: Fix Released Status in systemd source package in Bionic: Confirmed Status in systemd source package in Cosmic: Fix Committed Status in systemd source package in Disco: Fix Released Bug description: [Impact] * Last security update introduced a regression on btrfs based systems, causing systemd-tmpfiles-setup.service to fail to start, resulting in degraded machines. * Cherrypick upstream fixes to resolve this. [Test Case] * Install VM using btrfs for / * Boot, check that systemd-tmpfiles-setup.service is started successfully with: $ systemctl status systemd-tmpfiles-setup.service [Regression Potential] * btrfs fd doesn't support the set of flags that systemd used, with this patch, a compat set of flags is set instead, thus resolving the introduced regression. The worst case scenario is that creating subvolumes/directories is still broken (as in, the current status quo). [Other Info] * Example bad output After update to systemd 237-3ubuntu10.9 systemd-tmpfiles-setup.service fails with: Nov 21 13:44:12 node-blc49 systemd[1]: Starting Create Volatile Files and Directories... Nov 21 13:44:12 node-blc49 systemd-tmpfiles[1226]: Failed to create directory or subvolume "/var": Bad file descriptor Nov 21 13:44:12 node-blc49 systemd-tmpfiles[1226]: Failed to create directory or subvolume "/home": Bad file descriptor Nov 21 13:44:12 node-blc49 systemd-tmpfiles[1226]: Failed to create directory or subvolume "/srv": Bad file descriptor Nov 21 13:44:12 node-blc49 systemd[1]: systemd-tmpfiles-setup.service: Main process exited, code=exited, status=1/FAILURE Nov 21 13:44:12 node-blc49 systemd[1]: systemd-tmpfiles-setup.service: Failed with result 'exit-code'. Nov 21 13:44:12 node-blc49 systemd[1]: Failed to start Create Volatile Files and Directories. This happens on btrfs root filesystems in real hardware and on our virtualized servers as well. 237-3ubuntu10.6 didnt show this errors and going back to 237-3ubuntu10 removes them as well. # lsb_release -rd Description: Ubuntu 18.04.1 LTS Release: 18.04 # apt-cache policy systemd systemd: Installiert: 237-3ubuntu10.9 Installationskandidat: 237-3ubuntu10.9 Versionstabelle: *** 237-3ubuntu10.9 500 500 http://de.archive.ubuntu.com/ubuntu bionic-updates/main amd64 Packages 500 http://security.ubuntu.com/ubuntu bionic-security/main amd64 Packages 100 /var/lib/dpkg/status 237-3ubuntu10 500 500 http://de.archive.ubuntu.com/ubuntu bionic/main amd64 Packages To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1804603/+subscriptions -- Mailing list: https://launchpad.net/~touch-packages Post to : touch-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~touch-packages More help : https://help.launchpad.net/ListHelp