> Please don't just change the verification tags without showing what testing has been performed. I'm moving the tags back to verification- needed.
Sure: I have re-performed the exact same check as described in the templated description, with the package from -proposed instead of manually built, and verified it still works as expected. > So to reproduce the bug, or show that it is fixed, we need to trigger the mentioned getsockopt() call, *AND* do that under kernel 6.16. That is unnecessary, and unreasonable to ask. It is sufficient to show that with the change, dbus-broker still works as expected - and it does. IE, the getsockopt call (which runs every time there's a new client connecting to the system or session bus) is still working fine with the change, with current kernels. The kernel change hasn't happened yet, as we want to be good citizens, and ensure no regressions will happen. dbus-broker is the only client relying on the exact old error code, so we are getting it updated in LTS distributions that run a version that is affected (ie, v35 or newer). We'll do the error code change afterwards. We did all this extra work as we want to try and avoid causing issues for users running Noble and building their own kernels (or future potential HWE backports). ** Tags removed: verification-needed verification-needed-noble verification-needed-oracular verification-needed-plucky ** Tags added: verification-done verification-done-noble verification-done-oracular verification-done-plucky -- You received this bug notification because you are a member of Debcrafters packages, which is subscribed to dbus-broker in Ubuntu. https://bugs.launchpad.net/bugs/2110040 Title: dbus-broker: fix compatibility with newer kernel's error code for SO_PEERPIDFD error case Status in dbus-broker package in Ubuntu: Fix Released Status in dbus-broker source package in Noble: Fix Committed Status in dbus-broker source package in Oracular: Fix Committed Status in dbus-broker source package in Plucky: Fix Committed Status in dbus-broker source package in Questing: Fix Released Bug description: [Original Description/Impact] dbus-broker in noble, oracular and plucky only checks for EINVAL when calling the SO_PEERPIDFD getsockopt to check if a process already exited. The kernel in 6.16 is changing the return value from EINVAL to ESRCH so that the particular case can be distinguished from generic errors: https://lore.kernel.org/all/20250411-work-pidfs- [email protected]/ The upstream main branch of dbus-broker has a fix for this: https://github.com/bus1/dbus- broker/commit/4b1d9da51dc2703b7596243cb555a689bb27b4c1 Without this fix, running a new kernel with the old dbus-broker won't be able to detect this failure mode anymore, and dbus-broker will stop working in case that happens, as it has been reported at: https://lore.kernel.org/all/20250415223454.GA1852104@ax162/ Backporting this back to noble/oracular/plucky will ensure that users running with a new kernel (e.g.: HWE, local backport) won't face this issue. [Test Plan] Build and install the patched dbus-broker in a container and check that it doesn't break: Noble: root@localhost:/tmp# apt install ./dbus-broker_35-2ubuntu0.1_amd64.deb Reading package lists... Done Building dependency tree... Done Reading state information... Done Note, selecting 'dbus-broker' instead of './dbus-broker_35-2ubuntu0.1_amd64.deb' The following NEW packages will be installed: dbus-broker 0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. Need to get 0 B/169 kB of archives. After this operation, 430 kB of additional disk space will be used. Get:1 /tmp/dbus-broker_35-2ubuntu0.1_amd64.deb dbus-broker amd64 35-2ubuntu0.1 [169 kB] Selecting previously unselected package dbus-broker. (Reading database ... 27500 files and directories currently installed.) Preparing to unpack .../dbus-broker_35-2ubuntu0.1_amd64.deb ... Unpacking dbus-broker (35-2ubuntu0.1) ... Setting up dbus-broker (35-2ubuntu0.1) ... Replacing the running dbus-daemon with dbus-broker requires a reboot: please reboot the system when convenient. Created symlink /etc/systemd/user/dbus.service → /usr/lib/systemd/user/dbus-broker.service. Created symlink /etc/systemd/system/dbus.service → /usr/lib/systemd/system/dbus-broker.service. Processing triggers for man-db (2.12.0-4build2) ... Processing triggers for systemd (255.4-1ubuntu8) ... root@localhost:/tmp# systemctl daemon-reload root@localhost:/tmp# systemctl restart dbus-broker root@localhost:/tmp# systemctl status dbus-broker ● dbus-broker.service - D-Bus System Message Bus Loaded: loaded (/usr/lib/systemd/system/dbus-broker.service; enabled; preset: enabled) Active: active (running) since Tue 2025-05-06 15:00:08 BST; 3s ago TriggeredBy: ● dbus.socket Docs: man:dbus-broker-launch(1) Main PID: 2458 (dbus-broker-lau) Tasks: 2 (limit: 66786) Memory: 1.3M (peak: 2.1M) CPU: 10ms CGroup: /system.slice/dbus-broker.service ├─2458 /usr/bin/dbus-broker-launch --scope system --audit └─2459 dbus-broker --log 4 --controller 9 --machine-id b70250626e354e8481fe3ed01e2a769f --max-bytes 5368> May 06 15:00:08 localhost systemd[1]: Starting dbus-broker.service - D-Bus System Message Bus... May 06 15:00:08 localhost dbus-broker-launch[2458]: Kernel is missing AppArmor DBus support. May 06 15:00:08 localhost systemd[1]: Started dbus-broker.service - D-Bus System Message Bus. May 06 15:00:08 localhost dbus-broker-launch[2458]: Ready root@localhost:/tmp# cat /etc/os-release PRETTY_NAME="Ubuntu 24.04 LTS" NAME="Ubuntu" VERSION_ID="24.04" VERSION="24.04 LTS (Noble Numbat)" VERSION_CODENAME=noble ID=ubuntu ID_LIKE=debian HOME_URL="https://www.ubuntu.com/" SUPPORT_URL="https://help.ubuntu.com/" BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/" PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy" UBUNTU_CODENAME=noble LOGO=ubuntu-logo Plucky: root@localhost:/tmp# apt install ./dbus-broker_36-1ubuntu0.1_amd64.deb Note, selecting 'dbus-broker' instead of './dbus-broker_36-1ubuntu0.1_amd64.deb' The following packages were automatically installed and are no longer required: icu-devtools libpython3.12t64 libxenmisc4.19 linux-tools-6.12.0-15 libicu-dev libunwind8 linux-tools-6.11.0-8 linux-tools-6.12.0-15-generic libicu76 libxenmisc4.17t64 linux-tools-6.11.0-8-generic Use 'apt autoremove' to remove them. Installing: dbus-broker Summary: Upgrading: 0, Installing: 1, Removing: 0, Not Upgrading: 0 Download size: 0 B / 186 kB Space needed: 475 kB / 14.5 GB available Get:1 /tmp/dbus-broker_36-1ubuntu0.1_amd64.deb dbus-broker amd64 36-1ubuntu0.1 [186 kB] Selecting previously unselected package dbus-broker. (Reading database ... 35589 files and directories currently installed.) Preparing to unpack .../dbus-broker_36-1ubuntu0.1_amd64.deb ... Unpacking dbus-broker (36-1ubuntu0.1) ... Setting up dbus-broker (36-1ubuntu0.1) ... Replacing the running dbus-daemon with dbus-broker requires a reboot: please reboot the system when convenient. Created symlink '/etc/systemd/user/dbus.service' → '/usr/lib/systemd/user/dbus-broker.service'. Created symlink '/etc/systemd/system/dbus.service' → '/usr/lib/systemd/system/dbus-broker.service'. Processing triggers for man-db (2.13.0-1) ... Processing triggers for systemd (257.4-1ubuntu3) ... root@localhost:/tmp# systemctl daemon-reload root@localhost:/tmp# systemctl restart dbus-broker root@localhost:/tmp# systemctl status dbus-broker ● dbus-broker.service - D-Bus System Message Bus Loaded: loaded (/usr/lib/systemd/system/dbus-broker.service; enabled; preset: enabled) Active: active (running) since Tue 2025-05-06 15:02:31 BST; 2s ago Invocation: f56d62e8fbef494bb7648f951f327d53 TriggeredBy: ● dbus.socket Docs: man:dbus-broker-launch(1) Main PID: 2449 (dbus-broker-lau) Tasks: 2 (limit: 66786) Memory: 1.3M (peak: 1.9M) CPU: 14ms CGroup: /system.slice/dbus-broker.service ├─2449 /usr/bin/dbus-broker-launch --scope system --audit └─2450 dbus-broker --log 4 --controller 9 --machine-id c88acd22b631411c9e1d2467add01ca4 --max-bytes 5368> May 06 15:02:31 localhost systemd[1]: Starting dbus-broker.service - D-Bus System Message Bus... May 06 15:02:31 localhost dbus-broker-launch[2449]: Kernel is missing AppArmor DBus support. May 06 15:02:31 localhost systemd[1]: Started dbus-broker.service - D-Bus System Message Bus. May 06 15:02:31 localhost dbus-broker-launch[2449]: Ready root@localhost:/tmp# cat /etc/os-release PRETTY_NAME="Ubuntu 25.04" NAME="Ubuntu" VERSION_ID="25.04" VERSION="25.04 (Plucky Puffin)" VERSION_CODENAME=plucky ID=ubuntu ID_LIKE=debian HOME_URL="https://www.ubuntu.com/" SUPPORT_URL="https://help.ubuntu.com/" BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/" PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy" UBUNTU_CODENAME=plucky LOGO=ubuntu-logo Oracular: root@localhost:/tmp# apt install ./dbus-broker_36-1ubuntu0.1_amd64.deb Note, selecting 'dbus-broker' instead of './dbus-broker_36-1ubuntu0.1_amd64.deb' Installing: dbus-broker Summary: Upgrading: 0, Installing: 1, Removing: 0, Not Upgrading: 0 Download size: 0 B / 164 kB Space needed: 422 kB / 14.5 GB available Get:1 /tmp/dbus-broker_36-1ubuntu0.1_amd64.deb dbus-broker amd64 36-1ubuntu0.1 [164 kB] Selecting previously unselected package dbus-broker. (Reading database ... 26354 files and directories currently installed.) Preparing to unpack .../dbus-broker_36-1ubuntu0.1_amd64.deb ... Unpacking dbus-broker (36-1ubuntu0.1) ... Setting up dbus-broker (36-1ubuntu0.1) ... Replacing the running dbus-daemon with dbus-broker requires a reboot: please reboot the system when convenient. Created symlink '/etc/systemd/user/dbus.service' → '/usr/lib/systemd/user/dbus-broker.service'. Created symlink '/etc/systemd/system/dbus.service' → '/usr/lib/systemd/system/dbus-broker.service'. Processing triggers for man-db (2.12.1-3) ... Processing triggers for systemd (256.5-2ubuntu3) ... root@localhost:/tmp# systemctl daemon-reload root@localhost:/tmp# systemctl restart dbus-broker root@localhost:/tmp# systemctl status dbus-broker ● dbus-broker.service - D-Bus System Message Bus Loaded: loaded (/usr/lib/systemd/system/dbus-broker.service; enabled; preset: enabled) Active: active (running) since Tue 2025-05-06 15:05:32 BST; 2s ago Invocation: 438703731d2a488bb4db9031f50906fd TriggeredBy: ● dbus.socket Docs: man:dbus-broker-launch(1) Main PID: 3099 (dbus-broker-lau) Tasks: 2 (limit: 66786) Memory: 1.2M (peak: 1.9M) CPU: 15ms CGroup: /system.slice/dbus-broker.service ├─3099 /usr/bin/dbus-broker-launch --scope system --audit └─3100 dbus-broker --log 4 --controller 9 --machine-id 6d2f232cba464e4d9af4ba93985aa438 --max-bytes 5368> May 06 15:05:32 localhost systemd[1]: Starting dbus-broker.service - D-Bus System Message Bus... May 06 15:05:32 localhost dbus-broker-launch[3099]: Kernel is missing AppArmor DBus support. May 06 15:05:32 localhost systemd[1]: Started dbus-broker.service - D-Bus System Message Bus. May 06 15:05:32 localhost dbus-broker-launch[3099]: Ready root@localhost:/tmp# cat /etc/os-release PRETTY_NAME="Ubuntu 24.10" NAME="Ubuntu" VERSION_ID="24.10" VERSION="24.10 (Oracular Oriole)" VERSION_CODENAME=oracular ID=ubuntu ID_LIKE=debian HOME_URL="https://www.ubuntu.com/" SUPPORT_URL="https://help.ubuntu.com/" BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/" PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy" UBUNTU_CODENAME=oracular LOGO=ubuntu-logo [Where problems could occur] The updated logic adds a new expected error code from the SO_PEERPIDFD getsockopt invocation. An issue here would affect the ability of dbus- broker to get pidfds from clients, which would cause systemd and other clients to fall back to pid-based tracking of requests. To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/dbus-broker/+bug/2110040/+subscriptions -- Mailing list: https://launchpad.net/~debcrafters-packages Post to : [email protected] Unsubscribe : https://launchpad.net/~debcrafters-packages More help : https://help.launchpad.net/ListHelp

