#1140336 udev: fchownat() of /dev/kvm failed: Operation not permitted

Package:
udev
Source:
udev
Description:
/dev/ and hotplug management daemon
Submitter:
Benjamin Drung
Date:
2026-10-07 06:53:02 UTC
Severity:
normal
#1140336#5
Date:
2026-06-18 13:44:44 UTC
From:
To:
Dear Maintainer,

I am using sbuild with the unshare backend and this config for autopkgtest:

$autopkgtest_opts = ['--', 'unshare', '--release', '%r', '--arch', '%a', '-b', '/dev/kvm', '/dev/kvm'];

Running sbuild --run-autopkgtest on the dracut source code started to
fail during package installation:

Setting up udev (261~rc4-1) ...
Creating group 'input' with GID 995.
Creating group 'sgx' with GID 994.
Creating group 'clock' with GID 993.
Creating group 'kvm' with GID 992.
Creating group 'render' with GID 991.
fchownat() of /dev/kvm failed: Operation not permitted
dpkg: error processing package udev (--configure):
 old udev package postinst maintainer script subprocess failed with exit status 73

#1140336#10
Date:
2026-06-25 07:48:04 UTC
From:
To:
Hello,

I run into a similar issue when building the attached container using
apptainer 1.1.2:

Setting up systemd (261-1) ...
Created symlink
'/etc/systemd/system/multi-user.target.wants/remote-fs.target' ->
'/usr/lib/systemd/system/remote-fs.target'.
Created symlink
'/etc/systemd/system/sysinit.target.wants/systemd-pstore.service' ->
'/usr/lib/systemd/system/systemd-pstore.service'.
Created symlink '/etc/systemd/system/autovt@.service' ->
'/usr/lib/systemd/system/getty@.service'.
Created symlink
'/etc/systemd/system/getty.target.wants/getty@tty1.service' ->
'/usr/lib/systemd/system/getty@.service'.
Initializing machine ID from random generator.
Creating group 'lpadmin' with GID 999.
Creating group 'systemd-journal' with GID 998.
Creating group 'systemd-imds' with GID 997.
Creating user 'systemd-imds' (systemd Instance Metadata) with UID 997
and GID 997.
Creating group 'systemd-network' with GID 996.
Creating user 'systemd-network' (systemd Network Management) with UID
996 and GID 996.
fchownat() of /tmp failed: Operation not permitted
fchownat() of /var/tmp failed: Operation not permitted
fchownat() of /tmp/.X11-unix failed: Operation not permitted
fchownat() of /tmp/.ICE-unix failed: Operation not permitted
dpkg: error processing package systemd (--configure):
  old systemd package postinst maintainer script subprocess failed with
exit status 73

Andrius

#1140336#15
Date:
2026-10-07 06:48:57 UTC
From:
To:
Control: tags 1140336 + patch

Hi Benjamin,

I ran into the same issue with sbuild --unshare and /dev/kvm bind-mounted.

The failure is caused by dh_installtmpfiles in debhelper 14 removing the '|| true' fallback from the udev.postinst snippet. When setting permissions on static device nodes in unprivileged namespaces, fchownat() returns EPERM and systemd-tmpfiles aborts with exit code 73.

Attached is a patch that:
1. Treats ERRNO_IS_PRIVILEGE (EPERM, EACCES) as non-fatal debug in fd_set_perms() on character and block devices.
2. Changes the action prefix from 'z' to 'z-' in static-nodes-permissions.conf.in so permission errors are tolerated on static device nodes.

Also tracked in Ubuntu LP: #2160036:
https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/2160036