* [PATCH 0/2] eudev: upgrade 3.2.14 -> 3.2.15
@ 2026-10-15 13:08 Alex Kiernan
2026-10-15 13:08 ` [PATCH 1/2] base-passwd: add the render group for eudev-3.2.15 Alex Kiernan
2026-10-15 13:08 ` [PATCH 2/2] eudev: upgrade 3.2.14 -> 3.2.15 Alex Kiernan
0 siblings, 2 replies; 5+ messages in thread
From: Alex Kiernan @ 2026-10-15 13:08 UTC (permalink / raw)
To: openembedded-core; +Cc: Alex Kiernan
eudev 3.2.15 adds a render group for DRM render nodes, so we add that to
base-passwd first, then upgrade eudev.
Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
---
Alex Kiernan (2):
base-passwd: add the render group for eudev-3.2.15
eudev: upgrade 3.2.14 -> 3.2.15
.../0001-base-passwd-add-the-render-group.patch | 29 +++++
meta/recipes-core/base-passwd/base-passwd_3.6.8.bb | 16 +++
....c-sync-dev_urandom-implementation-to-sys.patch | 138 ---------------------
meta/recipes-core/udev/eudev/netifnames.patch | 17 ---
.../udev/{eudev_3.2.14.bb => eudev_3.2.15.bb} | 4 +-
5 files changed, 46 insertions(+), 158 deletions(-)
---
base-commit: 6b2dcfdbe16055edc88f72dabf07e33f8163d8eb
change-id: 20261015-eudev-3-2-15-e406a27a8c72
Best regards,
--
Alex Kiernan <alex.kiernan@gmail.com>
^ permalink raw reply [flat|nested] 5+ messages in thread* [PATCH 1/2] base-passwd: add the render group for eudev-3.2.15 2026-10-15 13:08 [PATCH 0/2] eudev: upgrade 3.2.14 -> 3.2.15 Alex Kiernan @ 2026-10-15 13:08 ` Alex Kiernan 2026-10-15 13:08 ` [PATCH 2/2] eudev: upgrade 3.2.14 -> 3.2.15 Alex Kiernan 1 sibling, 0 replies; 5+ messages in thread From: Alex Kiernan @ 2026-10-15 13:08 UTC (permalink / raw) To: openembedded-core; +Cc: Alex Kiernan Also add a comment to document why we add groups here and not in eudev, and why they're not submitted upstream. Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com> --- .../0001-base-passwd-add-the-render-group.patch | 29 ++++++++++++++++++++++ meta/recipes-core/base-passwd/base-passwd_3.6.8.bb | 16 ++++++++++++ 2 files changed, 45 insertions(+) diff --git a/meta/recipes-core/base-passwd/base-passwd/0001-base-passwd-add-the-render-group.patch b/meta/recipes-core/base-passwd/base-passwd/0001-base-passwd-add-the-render-group.patch new file mode 100644 index 000000000000..33ac1ec9e017 --- /dev/null +++ b/meta/recipes-core/base-passwd/base-passwd/0001-base-passwd-add-the-render-group.patch @@ -0,0 +1,29 @@ +From 8e1b08f3e701bb08b57c85c6818991f92a9611ae Mon Sep 17 00:00:00 2001 +From: Alex Kiernan <alex.kiernan@gmail.com> +Date: Thu, 15 Oct 2026 10:58:02 +0100 +Subject: [PATCH] base-passwd: add the render group + +eudev-3.2.15 adds the render group: + + Use the dedicated render group for /dev/dri/renderD*, kfd and accel + devices, as systemd does. Access is unchanged (mode 0666); systems + without a render group log an error and keep them root-owned. + +Upstream-Status: Inappropriate [oe-specific] +Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com> +--- + group.master | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/group.master b/group.master +index a0f9daf92d57..20ea5da3a450 100644 +--- a/group.master ++++ b/group.master +@@ -35,6 +35,7 @@ sasl:*:45: + plugdev:*:46: + kvm:*:47: + sgx:*:48: ++render:*:49: + staff:*:50: + games:*:60: + shutdown:*:70: diff --git a/meta/recipes-core/base-passwd/base-passwd_3.6.8.bb b/meta/recipes-core/base-passwd/base-passwd_3.6.8.bb index ec11e8827855..dddc326bc575 100644 --- a/meta/recipes-core/base-passwd/base-passwd_3.6.8.bb +++ b/meta/recipes-core/base-passwd/base-passwd_3.6.8.bb @@ -5,6 +5,21 @@ SECTION = "base" LICENSE = "GPL-2.0-only" LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a" +# We carry a number of extra groups in group.master which can neither go +# upstream nor be created by the recipes which need them: +# +# - Upstream base-passwd only serves Debian and Debian-based systems. Debian +# policy (9.2.2) restricts base-passwd to IDs which must be statically +# allocated and identical everywhere; any other group is created by the +# package which needs it (adduser/systemd-sysusers). Upstream has told us +# anyone else using base-passwd is on their own: +# https://salsa.debian.org/debian/base-passwd/-/merge_requests/17 +# +# - We can't create them with useradd.bbclass in the recipes which use them. +# Using useradd also brings shadow's login into the image, which fails with +# "setgid: Function not implemented" on kernels without CONFIG_MULTIUSER, +# unlike busybox's login. + SRC_URI = "https://launchpad.net/debian/+archive/primary/+files/${BPN}_${PV}.tar.xz \ file://0001-Add-a-shutdown-group.patch \ file://0002-Use-bin-sh-instead-of-bin-bash-for-the-root-user.patch \ @@ -14,6 +29,7 @@ SRC_URI = "https://launchpad.net/debian/+archive/primary/+files/${BPN}_${PV}.tar file://0007-Add-wheel-group.patch \ file://0001-base-passwd-Add-the-sgx-group.patch \ file://0001-Add-clock-group.patch \ + file://0001-base-passwd-add-the-render-group.patch \ " SRC_URI[sha256sum] = "fab3d0e6e8b641e116bda9bd5f7a7ed24482384c1513f6a369b506327fbc8dde" -- 2.43.0 ^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH 2/2] eudev: upgrade 3.2.14 -> 3.2.15 2026-10-15 13:08 [PATCH 0/2] eudev: upgrade 3.2.14 -> 3.2.15 Alex Kiernan 2026-10-15 13:08 ` [PATCH 1/2] base-passwd: add the render group for eudev-3.2.15 Alex Kiernan @ 2026-10-15 13:08 ` Alex Kiernan 2026-10-16 8:18 ` [OE-core] " Mathieu Dubois-Briand 1 sibling, 1 reply; 5+ messages in thread From: Alex Kiernan @ 2026-10-15 13:08 UTC (permalink / raw) To: openembedded-core; +Cc: Alex Kiernan Drop backported commits. Changes: Aitor Cuadrado Zubizarreta (1): Fix a mistake in the length of USEC_INITIALIZED when parsing property string Aleksey Vasenev (1): ata_id: Fixed getting Response Code from SCSI Sense Data (#24921) Andre Eikmeyer (1): udev: derive path ID for PNP devices from ACPI firmware node Andrey Albershteyn (1): udev: enable BLKID_SUBLKS_FSINFO tags Boian Bonev (39): Better wording use a dynamic buffer to fix 'dmi_memory_id' ressize 16384 too short log: return the negative error from log_*_errno() and map %m to it udev-event: do not overflow the argv array in udev_build_argv() man: RUN substitutions are performed while the rule is processed udevadm-hwdb: write the compatible database format by default, add hwdb_format= to udev.conf libudev-monitor: filter in userspace if the socket filter does not fit udev-rules: do not ignore rd.* kernel command line options in IMPORT{cmdline} udev-ctrl: NUL terminate received strings and validate the log level Merge hwdb from systemd udev-builtin-path_id: add sas_legacy_path udev.conf option udev-builtin-path_id: add fallbacks for USB_HUB_PR_* constants fido_id: fix use of uninitialized variable udev-builtin: size the argv array with UDEV_ARGV_MAX Merge suitable rules changes from systemd ci: build on current Devuan and supported Alpine releases udev-watch: do not log an error when the watched device is already gone udevadm-trigger: add --type=all README: point Gentoo users to the without-systemd overlay hwdb: add Chromium OS autosuspend list util: set the umask when declaring the cleanup variable in mk[o]stemp_safe() udevadm-info: check the result of dirfd() in the db cleanup helpers udev-watch: check the result of dirfd() when restoring watches udevd: drop dead stores when skipping a locked block device net_id: drop dead initialization of prefix udevadm-hwdb: do not lose entries when splitting a trie node fails scsi_id: do not read past the end of a config line with an unterminated quote ci: install libselinux-dev or libselinux1-dev on Devuan log: make the return value of log_oom() visible at the call site udev-rules: stop reading a rules file once a continued line hits EOF path-util: decide on the separator before reallocating the path libudev-monitor: initialize the address buffer for getsockname() udevd: assert that worker_returned() gets a valid socket collect: handle unexpected states explicitly in everybody() tree-wide: fix constness with C23 qualifier-preserving glibc functions configure.ac: point the bug report URL to eudev-project rules: put render nodes in the render group libudev: bump the library revision bump version to 3.2.15 Csókás, Bence (1): udev-rules: Fix compile errors with `-DDEBUG=1` CuriouslyCurious (1): build: Add libtool as build-dependency for Alpine Daniel Mack (1): util: fix another cunescape() regression Daniel28972897 (1): libudev-device: set errno also for a cached failed parent lookup David Herrmann (2): libudev-hwdb: fix child/value offset calculation hwdb: order properties by origin David Milburn (1): udev: build by-path identifiers for ATA devices. Davin McCall (1): udevd: add support for S6/dinit-compatible readiness notification Franck Bui (1): udev-rules: support '-=' operator for SYMLINK Frantisek Sumsal (2): shared: parse the whole /proc/cmdline scsi_id: use safe_atoi() instead of plain atoi() Hendrik Brueckner (1): udev/path_id: correct segmentation fault due to missing NULL check Jiri Pirko (1): udev-builtin-path_id: emit 'sf-<N>' token for auxiliary sub-functions Joe Slater (1): 80-net-name-slot.rules: consider ID_NET_NAME_MAC as a name Johannes Nixdorf (1): 78-sound-card.rules: Import ID_PATH early Joshua Goins (2): udev: Fix some tablet pads being classified as mouse or joysticks udev: Don't mark as tablet if device has relative coordinates Karel Zak (1): udev-builtin-blkid: add support for --hint offsets Kay Sievers (2): libudev-device: translate / vs. ! in sysname and refuse non-normalized names get_process_environ: exit early when there is nothing to read Keith Busch (1): udev/path_id: introduce support for NVMe devices Lennart Poettering (11): udev-rules: proc_cmdline_get_key() FTW! libudev-monitor: add missing errno initialization/error propagation udev-rules: consider "-" and "_" equivalent in IMPORT{cmdline} keys mtd_probe: fix lseek() parameter order udev-builtin-blkid: pick up info of backing file udev: modernize udev-builtin-btrfs a bit utf8: let's update utf16_to_utf8() a bit process: an empty environment block should be returned as such fileio: try to read one byte too much in read_full_stream() fileio: initialize errno to zero before we do fread() udevadm: use xopendirat() where appropriate Lidong Zhong (1): udev: rename the persistent link for ATA devices Luca Boccassi (9): libudev-monitor: bound the tag filter BPF program size libudev-monitor: avoid 32-bit overflow in the monitor properties bounds check helpers: check for invalid chars in various fields received from the kernel scsi_id: use strscpy instead of strncpy for wwn fields scsi_id: null-terminate serial after append_vendor_model scsi_id: check for invalid chars in various fields received from the kernel scsi_id: check for invalid header from kernel buffer udev: ensure tag parsing stays within bounds net_id: check for invalid chars in various fields received from the kernel Lukas Nykryn (1): udev: add new builtin net_driver Marek Vasut (1): udev: Handle AMBA bus the same way as generic platform bus Martin Wilck (2): udevadm: cleanup-db: don't delete information for kept db entries udev-builtin-path_id: SAS wide ports must have num_phys > 1 Masahisa Kojima (1): random-util.c: sync dev_urandom implementation to systemd-udev Matthias Schiffer (1): rules: add mtd/by-name symlinks Michal Schmidt (1): udevd: fix crash with invalid udev.log-priority Michal Sekletar (1): udev-rules: allow substitutions for SECLABEL key Mike Yuan (1): udev-ctrl: add missing size check of received message Milan Kyselica (1): udev: fix bounds check in dev_if_packed_info() Nate Clark (1): udev-builtin-blkid: Use _cleanup_blkid_free_probe_ to free probe (#6108) Nicolas Boichat (1): udevadm-hwdb: Return non-zero exit code on error when --strict is used Peter Hutterer (7): libudev-hwdb: fix matching for characters with an ord > 127 udev-builtin-input_id: any i2c mouse is a pointing stick udev: if a tablet has BTN_0, label it as ID_INPUT_TABLET_PAD udev-builtin-input_id: don't label absolute mice as pointing sticks udev-builtin-input_id: use heuristics to detect joysticks udev: don't allow pointing stick sensitivities greater than 255 (#5927) udev: skip EVDEV_ABS override on devices without EV_ABS (#5984) Ross Burton (1): udevadm-hwdb: strip the root from filenames when generating hwdb.bin Ryan Attard (1): ata_id: Add support for host managed zone block devices (#14933) Tobias Stoeckmann (1): udev: spot inconsistent quoting (just one single quote) Tom Gundersen (1): udev: bulitin-hwdb - fix memory leak Tomas Bzatek (1): ata_id: export read look-ahead values Vicente Bergas (1): Add BTN_ key codes Viktor Mihajlovski (1): udev: Use parent bus id for virtio disk builtin path-id (#5500) Vito Caputo (2): strxcpyx: don't overflow dest on strpcpyf truncate fileio: fix read_full_stream() bugs (#3887) Wenchao Hao (1): scsi_id: retry inquiry ioctl if host_byte is DID_TRANSPORT_DISRUPTED Yu Watanabe (37): udev-rules: fix negative match rule for SYMLINK and TAG udev-rules: replace unsafe characters on assigning ENV{key}="val" when OPTIONS="string_escape=replace" is set udev-rules: support case insensitive match udev-rules: evaluate formatting in RUN= key earlier udev-rules: allow to execute longer command line udev-rules: protect more properties often set by kernel and internally used by udevd udev-rules: refuse invalid devlink libudev-device,udev-rules: tag must be a valid filename udevd: make newer event also blocked by DEVPATH_OLD and by events for the same device node udevd: refuse to enable inotify watch on remove event udev-watch: also save map from device ID to watch handle in /run/udev/watch udev-rules: do not import property value from truncated line of program result libudev-monitor: use SO_DETACH_FILTER to remove BPF program libudev-device: make udev_device_set_syspath() clear sysname and sysnum libudev-enumerate: use path_startswith() to match parent device libudev-enumerate: also check is_initialized match when scanning by tags or children libudev: check arguments of more public functions libudev-device: ignore failure in caching the written sysattr value udev: end the watch of the processed device, and drop redundant db update cdrom_id: check last track info helpers: always open with O_NOCTTY scsi_id: rename positional arguments dmi_memory_id: update table with latest SMBIOS specification helpers: gracefully handle ENODEV or friends in opening device node udev: gracefully handle ENODEV or friends in opening device node udev: make udevadm test and test-builtin not destructive udev-builtin-kmod: support to run without arguments udev: always open with O_NOCTTY udev: always create device symlinks for USB disks udev: support by-path devlink for multipath nvme block devices udev: add USB revision in ID_PATH udev: do not set ID_PATH and by-path symlink for nvmf disks udev-builtin: make btrfs builtin command only check arguments when run in test mode udev-builtin-btrfs: refuse to call for irrelevant device node net_id: fix potential buffer overflow udevd: use worker_free() on failure in worker_new() udev-event: check command is not empty before executing Yu, Li-Yu (1): udev-rules: escaped string syntax e"..." in rule files Zbigniew Jędrzejewski-Szmek (9): libudev-device: attempt to read db again if it wasn't found libudev-device: fix udev_device_set_sysattr_value() v4l_id: use O_CLOEXEC|O_NOCTTY helpers: downgrade ENOMEDIUM warnings scsi_id: do not ignore positive error values from set_inq_values() udev: change the modalias string for usb devices to include the device name tree-wide: make new/new0/malloc_multiply/reallocarray safe for size 0 basic/escape: merge utf8 and non-utf8 paths in cunescape_one tree-wide: add bsearch_safe and use where appropriate chenjiayi (1): scsi_id: distinguish host-managed zoned block in scsi_id dongshengyuan (1): udev: avoid reading before empty capability masks gaoyi (1): udevd: don't kill worker in worker_kill() when it's running huyubiao (1): udevadm-hwdb: fix unsigned and signed comparison problem jeffhuang (1): libudev-hwdb: bounds-check trie offsets against the mmap before dereferencing jmestwa-coder (1): cdrom_id: zero scsi response buffers before parsing spaette (1): typos 我超厉害 (1): ata_id: even if a device is a zac device, scsi-$ID_SERIAL will be reserved for it (#30459) Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com> --- ....c-sync-dev_urandom-implementation-to-sys.patch | 138 --------------------- meta/recipes-core/udev/eudev/netifnames.patch | 17 --- .../udev/{eudev_3.2.14.bb => eudev_3.2.15.bb} | 4 +- 3 files changed, 1 insertion(+), 158 deletions(-) diff --git a/meta/recipes-core/udev/eudev/0001-random-util.c-sync-dev_urandom-implementation-to-sys.patch b/meta/recipes-core/udev/eudev/0001-random-util.c-sync-dev_urandom-implementation-to-sys.patch deleted file mode 100644 index 668aa731aca1..000000000000 --- a/meta/recipes-core/udev/eudev/0001-random-util.c-sync-dev_urandom-implementation-to-sys.patch +++ /dev/null @@ -1,138 +0,0 @@ -From 95c871b7b912f39539777ac222ef7f8798bb0225 Mon Sep 17 00:00:00 2001 -From: Masahisa Kojima <kojima.masahisa@socionext.com> -Date: Thu, 25 Apr 2024 17:23:10 +0900 -Subject: [PATCH] random-util.c: sync dev_urandom implementation to - systemd-udev - -Current dev_urandom() assumes that reading /dev/urandom -will never block regardless if the random pool is fully -initialized or not. -This assumption is no longer applicable since linux kerrnel -enforces the /dev/urandom entropy initialization from -v5.18-rc2 with the commit: -48bff1053c17 ("random: opportunistically initialize on /dev/urandom reads"). - -With this, when we use the linux v5.18-rc2 or later, -dev_urandom() will block if enough random pool is not supplied. -It causes the boot delay, typically 1024msec(4msec * 256 = 1024msec) -delay to fill the 256 bits entropy for the case CONFIG_HZ=250. - -To prevent this boot delay, this commit syncs dev_urandom() -implementation to the systemd-udev. -The systemd-udev implementation of reading /dev/urandom is as follows. - - Try to get random with calling getrandom(GRND_INSECURE) - - If kernel does not support GRND_INSECURE, fallback to GRND_NONBLOCK - - If enough entropy is not supplied, fallback to reading /dev/urandom, - this will block when the kernel version is v5.18-rc2 or later - -With this modification, dev_urandom() tries not to block -as much as possible. - -This modification still keeps the backword compatibility, -dev_random() will never block if the commit(48bff1053c17) is not -applied to the linux kernel, the behavior is same as before -in this case. - -Upstream-Status: Backport [a49a3aaa460add6ae7ea208b4cac630e56fe1180] -Signed-off-by: Masahisa Kojima <kojima.masahisa@socionext.com> ---- - src/shared/missing.h | 4 +++ - src/shared/random-util.c | 70 ++++++++++++++++++---------------------- - 2 files changed, 35 insertions(+), 39 deletions(-) - -diff --git a/src/shared/missing.h b/src/shared/missing.h -index 1967840cdbf3..1caec0f9207c 100644 ---- a/src/shared/missing.h -+++ b/src/shared/missing.h -@@ -79,6 +79,10 @@ static inline int getrandom(void *buffer, size_t count, unsigned flags) { - #define GRND_RANDOM 0x0002 - #endif - -+#ifndef GRND_INSECURE -+#define GRND_INSECURE 0x0004 -+#endif -+ - #ifndef BTRFS_IOCTL_MAGIC - #define BTRFS_IOCTL_MAGIC 0x94 - #endif -diff --git a/src/shared/random-util.c b/src/shared/random-util.c -index 01a28c8ef4e9..852b00e4ce2b 100644 ---- a/src/shared/random-util.c -+++ b/src/shared/random-util.c -@@ -31,45 +31,37 @@ - #include "util.h" - - int dev_urandom(void *p, size_t n) { -- static int have_syscall = -1; -- -- _cleanup_close_ int fd = -1; -- int r; -- -- /* Gathers some randomness from the kernel. This call will -- * never block, and will always return some data from the -- * kernel, regardless if the random pool is fully initialized -- * or not. It thus makes no guarantee for the quality of the -- * returned entropy, but is good enough for or usual usecases -- * of seeding the hash functions for hashtable */ -- -- /* Use the getrandom() syscall unless we know we don't have -- * it, or when the requested size is too large for it. */ -- if (have_syscall != 0 || (size_t) (int) n != n) { -- r = getrandom(p, n, GRND_NONBLOCK); -- if (r == (int) n) { -- have_syscall = true; -- return 0; -- } -- -- if (r < 0) { -- if (errno == ENOSYS) -- /* we lack the syscall, continue with -- * reading from /dev/urandom */ -- have_syscall = false; -- else if (errno == EAGAIN) -- /* not enough entropy for now. Let's -- * remember to use the syscall the -- * next time, again, but also read -- * from /dev/urandom for now, which -- * doesn't care about the current -- * amount of entropy. */ -- have_syscall = true; -- else -- return -errno; -- } else -- /* too short read? */ -- return -ENODATA; -+ static bool have_getrandom = true, have_grndinsecure = true; -+ _cleanup_close_ int fd = -EBADF; -+ -+ if (n == 0) -+ return 0; -+ -+ for (;;) { -+ ssize_t l; -+ -+ if (!have_getrandom) -+ break; -+ -+ l = getrandom(p, n, have_grndinsecure ? GRND_INSECURE : GRND_NONBLOCK); -+ if (l > 0) { -+ if ((size_t) l == n) -+ return 0; /* Done reading, success. */ -+ p = (uint8_t *) p + l; -+ n -= l; -+ continue; /* Interrupted by a signal; keep going. */ -+ } else if (l == 0) -+ break; /* Weird, so fallback to /dev/urandom. */ -+ else if (errno == ENOSYS) { -+ have_getrandom = false; -+ break; /* No syscall, so fallback to /dev/urandom. */ -+ } else if (errno == EINVAL && have_grndinsecure) { -+ have_grndinsecure = false; -+ continue; /* No GRND_INSECURE; fallback to GRND_NONBLOCK. */ -+ } else if (errno == EAGAIN && !have_grndinsecure) -+ break; /* Will block, but no GRND_INSECURE, so fallback to /dev/urandom. */ -+ -+ break; /* Unexpected, so just give up and fallback to /dev/urandom. */ - } - - fd = open("/dev/urandom", O_RDONLY|O_CLOEXEC|O_NOCTTY); diff --git a/meta/recipes-core/udev/eudev/netifnames.patch b/meta/recipes-core/udev/eudev/netifnames.patch deleted file mode 100644 index 4f8e54d12d4a..000000000000 --- a/meta/recipes-core/udev/eudev/netifnames.patch +++ /dev/null @@ -1,17 +0,0 @@ -eudev: consider ID_NET_NAME_MAC as an interface name - -eudev might not create names based on slot or path. - -Upstream-Status: Backport [github.com/eudev-project/eudev/pull/274] - -Signed-off-by: Joe Slater <joe.slater@windriver.com> - ---- a/rules/80-net-name-slot.rules -+++ b/rules/80-net-name-slot.rules -@@ -10,5 +10,6 @@ ENV{net.ifnames}=="0", GOTO="net_name_sl - NAME=="", ENV{ID_NET_NAME_ONBOARD}!="", NAME="$env{ID_NET_NAME_ONBOARD}" - NAME=="", ENV{ID_NET_NAME_SLOT}!="", NAME="$env{ID_NET_NAME_SLOT}" - NAME=="", ENV{ID_NET_NAME_PATH}!="", NAME="$env{ID_NET_NAME_PATH}" -+NAME=="", ENV{ID_NET_NAME_MAC}!="", NAME="$env{ID_NET_NAME_MAC}" - - LABEL="net_name_slot_end" diff --git a/meta/recipes-core/udev/eudev_3.2.14.bb b/meta/recipes-core/udev/eudev_3.2.15.bb similarity index 93% rename from meta/recipes-core/udev/eudev_3.2.14.bb rename to meta/recipes-core/udev/eudev_3.2.15.bb index 3e4972694ac0..2ff2370bcb5e 100644 --- a/meta/recipes-core/udev/eudev_3.2.14.bb +++ b/meta/recipes-core/udev/eudev_3.2.15.bb @@ -10,13 +10,11 @@ DEPENDS = "gperf-native" PROVIDES = "udev" SRC_URI = "${GITHUB_BASE_URI}/download/v${PV}/${BP}.tar.gz \ - file://netifnames.patch \ file://init \ file://local.rules \ - file://0001-random-util.c-sync-dev_urandom-implementation-to-sys.patch \ " -SRC_URI[sha256sum] = "8da4319102f24abbf7fff5ce9c416af848df163b29590e666d334cc1927f006f" +SRC_URI[sha256sum] = "eb69809fc0d1187f2463ab2149c53aa9f42a78e59f14ebea68eae6cb6b4fc1c3" GITHUB_BASE_URI = "https://github.com/eudev-project/eudev/releases" -- 2.43.0 ^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [OE-core] [PATCH 2/2] eudev: upgrade 3.2.14 -> 3.2.15 2026-10-15 13:08 ` [PATCH 2/2] eudev: upgrade 3.2.14 -> 3.2.15 Alex Kiernan @ 2026-10-16 8:18 ` Mathieu Dubois-Briand 2026-10-16 12:16 ` Alex Kiernan 0 siblings, 1 reply; 5+ messages in thread From: Mathieu Dubois-Briand @ 2026-10-16 8:18 UTC (permalink / raw) To: alex.kiernan, openembedded-core On Thu Oct 15, 2026 at 3:08 PM CEST, Alex Kiernan via lists.openembedded.org wrote: > Drop backported commits. > > Changes: > ... > > Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com> > --- Hi Alex, Thanks for the upgrade. But it looks like we can see runtime failures, at lease on x86 qemu: ----------------------- Central error: [ 1.369029] udevd[144]: segfault at 7f9e4cea81c0 ip 00007f9e4d5f5643 sp 00007ffcea775058 error 4 in libc.so[3a643,7f9e4d5cd000+6e000] likely on CPU 0 (core 0, socket 0) *********************** [ 1.324424] VFS: Pivoted into new rootfs [ 1.325948] Freeing unused kernel image (initmem) memory: 3804K [ 1.327763] Write protecting the kernel read-only data: 30720k [ 1.329535] input: QEMU QEMU USB Tablet as /devices/pci0000:00/0000:00:1d.7/usb1/1-1/1-1:1.0/0003:0627:0001.0001/input/input1 [ 1.332703] hid-generic 0003:0627:0001.0001: input: USB HID v0.01 Mouse [QEMU QEMU USB Tablet] on usb-0000:00:1d.7-1/input0 [ 1.332741] Freeing unused kernel image (text/rodata gap) memory: 732K [ 1.337474] Freeing unused kernel image (rodata/data gap) memory: 1588K [ 1.339154] Run /sbin/init as init process [ 1.340184] with arguments: [ 1.340185] /sbin/init [ 1.340186] with environment: [ 1.340186] HOME=/ [ 1.340187] TERM=linux [ 1.356209] udevd[143]: starting version 3.2.15 [ 1.360803] udevd[144]: starting eudev-3.2.15 [ 1.369029] udevd[144]: segfault at 7f9e4cea81c0 ip 00007f9e4d5f5643 sp 00007ffcea775058 error 4 in libc.so[3a643,7f9e4d5cd000+6e000] likely on CPU 0 (core 0, socket 0) [ 1.373539] Code: ca 74 e4 e9 69 ff ff ff 0f 1f 80 00 00 00 00 48 89 f8 c3 0f 1f 40 00 c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 44 00 00 0f b6 17 <0f> b6 0e 31 c0 38 ca 74 25 eb 32 0f 1f 80 00 00 00 00 66 66 2e 0f [ 1.446848] usb 1-2: new high-speed USB device number 3 using ehci-pci [ 1.579181] input: QEMU QEMU USB Keyboard as /devices/pci0000:00/0000:00:1d.7/usb1/1-2/1-2:1.0/0003:0627:0001.0002/input/input2 [ 1.633000] hid-generic 0003:0627:0001.0002: input: USB HID v1.11 Keyboard [QEMU QEMU USB Keyboard] on usb-0000:00:1d.7-2/input0 [ 121.483345] EXT4-fs (vda): re-mounted 7b4506d6-59d8-4ca9-87c3-880a5a0dcf6c. This did happen a few times in a row on rebuild: https://autobuilder.yoctoproject.org/valkyrie/#/builders/110/builds/1371 https://autobuilder.yoctoproject.org/valkyrie/#/builders/110/builds/1372 https://autobuilder.yoctoproject.org/valkyrie/#/builders/110/builds/1373 https://autobuilder.yoctoproject.org/valkyrie/#/builders/110/builds/1379 Can you have a look at the issue? Also, about the commit message: we try to embedded a bit of the changelog on upgrades, but this one is definitely too long. There is no hard constraint, but a good excerpt is probably between 5 and 30 lines. Can you trim it down a bit? Thanks, Mathieu > ....c-sync-dev_urandom-implementation-to-sys.patch | 138 --------------------- > meta/recipes-core/udev/eudev/netifnames.patch | 17 --- > .../udev/{eudev_3.2.14.bb => eudev_3.2.15.bb} | 4 +- > 3 files changed, 1 insertion(+), 158 deletions(-) > > diff --git a/meta/recipes-core/udev/eudev/0001-random-util.c-sync-dev_urandom-implementation-to-sys.patch b/meta/recipes-core/udev/eudev/0001-random-util.c-sync-dev_urandom-implementation-to-sys.patch > deleted file mode 100644 > index 668aa731aca1..000000000000 > --- a/meta/recipes-core/udev/eudev/0001-random-util.c-sync-dev_urandom-implementation-to-sys.patch > +++ /dev/null > @@ -1,138 +0,0 @@ > -From 95c871b7b912f39539777ac222ef7f8798bb0225 Mon Sep 17 00:00:00 2001 > -From: Masahisa Kojima <kojima.masahisa@socionext.com> > -Date: Thu, 25 Apr 2024 17:23:10 +0900 > -Subject: [PATCH] random-util.c: sync dev_urandom implementation to > - systemd-udev > - > -Current dev_urandom() assumes that reading /dev/urandom > -will never block regardless if the random pool is fully > -initialized or not. > -This assumption is no longer applicable since linux kerrnel > -enforces the /dev/urandom entropy initialization from > -v5.18-rc2 with the commit: > -48bff1053c17 ("random: opportunistically initialize on /dev/urandom reads"). > - > -With this, when we use the linux v5.18-rc2 or later, > -dev_urandom() will block if enough random pool is not supplied. > -It causes the boot delay, typically 1024msec(4msec * 256 = 1024msec) > -delay to fill the 256 bits entropy for the case CONFIG_HZ=250. > - > -To prevent this boot delay, this commit syncs dev_urandom() > -implementation to the systemd-udev. > -The systemd-udev implementation of reading /dev/urandom is as follows. > - - Try to get random with calling getrandom(GRND_INSECURE) > - - If kernel does not support GRND_INSECURE, fallback to GRND_NONBLOCK > - - If enough entropy is not supplied, fallback to reading /dev/urandom, > - this will block when the kernel version is v5.18-rc2 or later > - > -With this modification, dev_urandom() tries not to block > -as much as possible. > - > -This modification still keeps the backword compatibility, > -dev_random() will never block if the commit(48bff1053c17) is not > -applied to the linux kernel, the behavior is same as before > -in this case. > - > -Upstream-Status: Backport [a49a3aaa460add6ae7ea208b4cac630e56fe1180] > -Signed-off-by: Masahisa Kojima <kojima.masahisa@socionext.com> > ---- > - src/shared/missing.h | 4 +++ > - src/shared/random-util.c | 70 ++++++++++++++++++---------------------- > - 2 files changed, 35 insertions(+), 39 deletions(-) > - > -diff --git a/src/shared/missing.h b/src/shared/missing.h > -index 1967840cdbf3..1caec0f9207c 100644 > ---- a/src/shared/missing.h > -+++ b/src/shared/missing.h > -@@ -79,6 +79,10 @@ static inline int getrandom(void *buffer, size_t count, unsigned flags) { > - #define GRND_RANDOM 0x0002 > - #endif > - > -+#ifndef GRND_INSECURE > -+#define GRND_INSECURE 0x0004 > -+#endif > -+ > - #ifndef BTRFS_IOCTL_MAGIC > - #define BTRFS_IOCTL_MAGIC 0x94 > - #endif > -diff --git a/src/shared/random-util.c b/src/shared/random-util.c > -index 01a28c8ef4e9..852b00e4ce2b 100644 > ---- a/src/shared/random-util.c > -+++ b/src/shared/random-util.c > -@@ -31,45 +31,37 @@ > - #include "util.h" > - > - int dev_urandom(void *p, size_t n) { > -- static int have_syscall = -1; > -- > -- _cleanup_close_ int fd = -1; > -- int r; > -- > -- /* Gathers some randomness from the kernel. This call will > -- * never block, and will always return some data from the > -- * kernel, regardless if the random pool is fully initialized > -- * or not. It thus makes no guarantee for the quality of the > -- * returned entropy, but is good enough for or usual usecases > -- * of seeding the hash functions for hashtable */ > -- > -- /* Use the getrandom() syscall unless we know we don't have > -- * it, or when the requested size is too large for it. */ > -- if (have_syscall != 0 || (size_t) (int) n != n) { > -- r = getrandom(p, n, GRND_NONBLOCK); > -- if (r == (int) n) { > -- have_syscall = true; > -- return 0; > -- } > -- > -- if (r < 0) { > -- if (errno == ENOSYS) > -- /* we lack the syscall, continue with > -- * reading from /dev/urandom */ > -- have_syscall = false; > -- else if (errno == EAGAIN) > -- /* not enough entropy for now. Let's > -- * remember to use the syscall the > -- * next time, again, but also read > -- * from /dev/urandom for now, which > -- * doesn't care about the current > -- * amount of entropy. */ > -- have_syscall = true; > -- else > -- return -errno; > -- } else > -- /* too short read? */ > -- return -ENODATA; > -+ static bool have_getrandom = true, have_grndinsecure = true; > -+ _cleanup_close_ int fd = -EBADF; > -+ > -+ if (n == 0) > -+ return 0; > -+ > -+ for (;;) { > -+ ssize_t l; > -+ > -+ if (!have_getrandom) > -+ break; > -+ > -+ l = getrandom(p, n, have_grndinsecure ? GRND_INSECURE : GRND_NONBLOCK); > -+ if (l > 0) { > -+ if ((size_t) l == n) > -+ return 0; /* Done reading, success. */ > -+ p = (uint8_t *) p + l; > -+ n -= l; > -+ continue; /* Interrupted by a signal; keep going. */ > -+ } else if (l == 0) > -+ break; /* Weird, so fallback to /dev/urandom. */ > -+ else if (errno == ENOSYS) { > -+ have_getrandom = false; > -+ break; /* No syscall, so fallback to /dev/urandom. */ > -+ } else if (errno == EINVAL && have_grndinsecure) { > -+ have_grndinsecure = false; > -+ continue; /* No GRND_INSECURE; fallback to GRND_NONBLOCK. */ > -+ } else if (errno == EAGAIN && !have_grndinsecure) > -+ break; /* Will block, but no GRND_INSECURE, so fallback to /dev/urandom. */ > -+ > -+ break; /* Unexpected, so just give up and fallback to /dev/urandom. */ > - } > - > - fd = open("/dev/urandom", O_RDONLY|O_CLOEXEC|O_NOCTTY); > diff --git a/meta/recipes-core/udev/eudev/netifnames.patch b/meta/recipes-core/udev/eudev/netifnames.patch > deleted file mode 100644 > index 4f8e54d12d4a..000000000000 > --- a/meta/recipes-core/udev/eudev/netifnames.patch > +++ /dev/null > @@ -1,17 +0,0 @@ > -eudev: consider ID_NET_NAME_MAC as an interface name > - > -eudev might not create names based on slot or path. > - > -Upstream-Status: Backport [github.com/eudev-project/eudev/pull/274] > - > -Signed-off-by: Joe Slater <joe.slater@windriver.com> > - > ---- a/rules/80-net-name-slot.rules > -+++ b/rules/80-net-name-slot.rules > -@@ -10,5 +10,6 @@ ENV{net.ifnames}=="0", GOTO="net_name_sl > - NAME=="", ENV{ID_NET_NAME_ONBOARD}!="", NAME="$env{ID_NET_NAME_ONBOARD}" > - NAME=="", ENV{ID_NET_NAME_SLOT}!="", NAME="$env{ID_NET_NAME_SLOT}" > - NAME=="", ENV{ID_NET_NAME_PATH}!="", NAME="$env{ID_NET_NAME_PATH}" > -+NAME=="", ENV{ID_NET_NAME_MAC}!="", NAME="$env{ID_NET_NAME_MAC}" > - > - LABEL="net_name_slot_end" > diff --git a/meta/recipes-core/udev/eudev_3.2.14.bb b/meta/recipes-core/udev/eudev_3.2.15.bb > similarity index 93% > rename from meta/recipes-core/udev/eudev_3.2.14.bb > rename to meta/recipes-core/udev/eudev_3.2.15.bb > index 3e4972694ac0..2ff2370bcb5e 100644 > --- a/meta/recipes-core/udev/eudev_3.2.14.bb > +++ b/meta/recipes-core/udev/eudev_3.2.15.bb > @@ -10,13 +10,11 @@ DEPENDS = "gperf-native" > PROVIDES = "udev" > > SRC_URI = "${GITHUB_BASE_URI}/download/v${PV}/${BP}.tar.gz \ > - file://netifnames.patch \ > file://init \ > file://local.rules \ > - file://0001-random-util.c-sync-dev_urandom-implementation-to-sys.patch \ > " > > -SRC_URI[sha256sum] = "8da4319102f24abbf7fff5ce9c416af848df163b29590e666d334cc1927f006f" > +SRC_URI[sha256sum] = "eb69809fc0d1187f2463ab2149c53aa9f42a78e59f14ebea68eae6cb6b4fc1c3" > > GITHUB_BASE_URI = "https://github.com/eudev-project/eudev/releases" > -- Mathieu Dubois-Briand, Bootlin Embedded Linux and Kernel engineering https://bootlin.com ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [OE-core] [PATCH 2/2] eudev: upgrade 3.2.14 -> 3.2.15 2026-10-16 8:18 ` [OE-core] " Mathieu Dubois-Briand @ 2026-10-16 12:16 ` Alex Kiernan 0 siblings, 0 replies; 5+ messages in thread From: Alex Kiernan @ 2026-10-16 12:16 UTC (permalink / raw) To: Mathieu Dubois-Briand; +Cc: openembedded-core On Fri, Oct 16, 2026 at 9:18 AM Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> wrote: > > On Thu Oct 15, 2026 at 3:08 PM CEST, Alex Kiernan via lists.openembedded.org wrote: > > Drop backported commits. > > > > Changes: > > > ... > > > > Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com> > > --- > > Hi Alex, > > Thanks for the upgrade. But it looks like we can see runtime failures, > at lease on x86 qemu: > > ----------------------- > Central error: [ 1.369029] udevd[144]: segfault at 7f9e4cea81c0 ip 00007f9e4d5f5643 sp 00007ffcea775058 error 4 in libc.so[3a643,7f9e4d5cd000+6e000] likely on CPU 0 (core 0, socket 0) > *********************** > [ 1.324424] VFS: Pivoted into new rootfs > [ 1.325948] Freeing unused kernel image (initmem) memory: 3804K > [ 1.327763] Write protecting the kernel read-only data: 30720k > [ 1.329535] input: QEMU QEMU USB Tablet as /devices/pci0000:00/0000:00:1d.7/usb1/1-1/1-1:1.0/0003:0627:0001.0001/input/input1 > [ 1.332703] hid-generic 0003:0627:0001.0001: input: USB HID v0.01 Mouse [QEMU QEMU USB Tablet] on usb-0000:00:1d.7-1/input0 > [ 1.332741] Freeing unused kernel image (text/rodata gap) memory: 732K > [ 1.337474] Freeing unused kernel image (rodata/data gap) memory: 1588K > [ 1.339154] Run /sbin/init as init process > [ 1.340184] with arguments: > [ 1.340185] /sbin/init > [ 1.340186] with environment: > [ 1.340186] HOME=/ > [ 1.340187] TERM=linux > [ 1.356209] udevd[143]: starting version 3.2.15 > [ 1.360803] udevd[144]: starting eudev-3.2.15 > [ 1.369029] udevd[144]: segfault at 7f9e4cea81c0 ip 00007f9e4d5f5643 sp 00007ffcea775058 error 4 in libc.so[3a643,7f9e4d5cd000+6e000] likely on CPU 0 (core 0, socket 0) > [ 1.373539] Code: ca 74 e4 e9 69 ff ff ff 0f 1f 80 00 00 00 00 48 89 f8 c3 0f 1f 40 00 c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 44 00 00 0f b6 17 <0f> b6 0e 31 c0 38 ca 74 25 eb 32 0f 1f 80 00 00 00 00 66 66 2e 0f > [ 1.446848] usb 1-2: new high-speed USB device number 3 using ehci-pci > [ 1.579181] input: QEMU QEMU USB Keyboard as /devices/pci0000:00/0000:00:1d.7/usb1/1-2/1-2:1.0/0003:0627:0001.0002/input/input2 > [ 1.633000] hid-generic 0003:0627:0001.0002: input: USB HID v1.11 Keyboard [QEMU QEMU USB Keyboard] on usb-0000:00:1d.7-2/input0 > [ 121.483345] EXT4-fs (vda): re-mounted 7b4506d6-59d8-4ca9-87c3-880a5a0dcf6c. > > This did happen a few times in a row on rebuild: > > https://autobuilder.yoctoproject.org/valkyrie/#/builders/110/builds/1371 > https://autobuilder.yoctoproject.org/valkyrie/#/builders/110/builds/1372 > https://autobuilder.yoctoproject.org/valkyrie/#/builders/110/builds/1373 > https://autobuilder.yoctoproject.org/valkyrie/#/builders/110/builds/1379 > > Can you have a look at the issue? > Segfaults on musl... will go dig. > Also, about the commit message: we try to embedded a bit of the > changelog on upgrades, but this one is definitely too long. There is no > hard constraint, but a good excerpt is probably between 5 and 30 lines. > Can you trim it down a bit? > I kinda wondered... given it's a 3 year dump of new commits, I suspect a "go read the commit log" is probably more useful. > Thanks, > Mathieu > > > ....c-sync-dev_urandom-implementation-to-sys.patch | 138 --------------------- > > meta/recipes-core/udev/eudev/netifnames.patch | 17 --- > > .../udev/{eudev_3.2.14.bb => eudev_3.2.15.bb} | 4 +- > > 3 files changed, 1 insertion(+), 158 deletions(-) > > > > diff --git a/meta/recipes-core/udev/eudev/0001-random-util.c-sync-dev_urandom-implementation-to-sys.patch b/meta/recipes-core/udev/eudev/0001-random-util.c-sync-dev_urandom-implementation-to-sys.patch > > deleted file mode 100644 > > index 668aa731aca1..000000000000 > > --- a/meta/recipes-core/udev/eudev/0001-random-util.c-sync-dev_urandom-implementation-to-sys.patch > > +++ /dev/null > > @@ -1,138 +0,0 @@ > > -From 95c871b7b912f39539777ac222ef7f8798bb0225 Mon Sep 17 00:00:00 2001 > > -From: Masahisa Kojima <kojima.masahisa@socionext.com> > > -Date: Thu, 25 Apr 2024 17:23:10 +0900 > > -Subject: [PATCH] random-util.c: sync dev_urandom implementation to > > - systemd-udev > > - > > -Current dev_urandom() assumes that reading /dev/urandom > > -will never block regardless if the random pool is fully > > -initialized or not. > > -This assumption is no longer applicable since linux kerrnel > > -enforces the /dev/urandom entropy initialization from > > -v5.18-rc2 with the commit: > > -48bff1053c17 ("random: opportunistically initialize on /dev/urandom reads"). > > - > > -With this, when we use the linux v5.18-rc2 or later, > > -dev_urandom() will block if enough random pool is not supplied. > > -It causes the boot delay, typically 1024msec(4msec * 256 = 1024msec) > > -delay to fill the 256 bits entropy for the case CONFIG_HZ=250. > > - > > -To prevent this boot delay, this commit syncs dev_urandom() > > -implementation to the systemd-udev. > > -The systemd-udev implementation of reading /dev/urandom is as follows. > > - - Try to get random with calling getrandom(GRND_INSECURE) > > - - If kernel does not support GRND_INSECURE, fallback to GRND_NONBLOCK > > - - If enough entropy is not supplied, fallback to reading /dev/urandom, > > - this will block when the kernel version is v5.18-rc2 or later > > - > > -With this modification, dev_urandom() tries not to block > > -as much as possible. > > - > > -This modification still keeps the backword compatibility, > > -dev_random() will never block if the commit(48bff1053c17) is not > > -applied to the linux kernel, the behavior is same as before > > -in this case. > > - > > -Upstream-Status: Backport [a49a3aaa460add6ae7ea208b4cac630e56fe1180] > > -Signed-off-by: Masahisa Kojima <kojima.masahisa@socionext.com> > > ---- > > - src/shared/missing.h | 4 +++ > > - src/shared/random-util.c | 70 ++++++++++++++++++---------------------- > > - 2 files changed, 35 insertions(+), 39 deletions(-) > > - > > -diff --git a/src/shared/missing.h b/src/shared/missing.h > > -index 1967840cdbf3..1caec0f9207c 100644 > > ---- a/src/shared/missing.h > > -+++ b/src/shared/missing.h > > -@@ -79,6 +79,10 @@ static inline int getrandom(void *buffer, size_t count, unsigned flags) { > > - #define GRND_RANDOM 0x0002 > > - #endif > > - > > -+#ifndef GRND_INSECURE > > -+#define GRND_INSECURE 0x0004 > > -+#endif > > -+ > > - #ifndef BTRFS_IOCTL_MAGIC > > - #define BTRFS_IOCTL_MAGIC 0x94 > > - #endif > > -diff --git a/src/shared/random-util.c b/src/shared/random-util.c > > -index 01a28c8ef4e9..852b00e4ce2b 100644 > > ---- a/src/shared/random-util.c > > -+++ b/src/shared/random-util.c > > -@@ -31,45 +31,37 @@ > > - #include "util.h" > > - > > - int dev_urandom(void *p, size_t n) { > > -- static int have_syscall = -1; > > -- > > -- _cleanup_close_ int fd = -1; > > -- int r; > > -- > > -- /* Gathers some randomness from the kernel. This call will > > -- * never block, and will always return some data from the > > -- * kernel, regardless if the random pool is fully initialized > > -- * or not. It thus makes no guarantee for the quality of the > > -- * returned entropy, but is good enough for or usual usecases > > -- * of seeding the hash functions for hashtable */ > > -- > > -- /* Use the getrandom() syscall unless we know we don't have > > -- * it, or when the requested size is too large for it. */ > > -- if (have_syscall != 0 || (size_t) (int) n != n) { > > -- r = getrandom(p, n, GRND_NONBLOCK); > > -- if (r == (int) n) { > > -- have_syscall = true; > > -- return 0; > > -- } > > -- > > -- if (r < 0) { > > -- if (errno == ENOSYS) > > -- /* we lack the syscall, continue with > > -- * reading from /dev/urandom */ > > -- have_syscall = false; > > -- else if (errno == EAGAIN) > > -- /* not enough entropy for now. Let's > > -- * remember to use the syscall the > > -- * next time, again, but also read > > -- * from /dev/urandom for now, which > > -- * doesn't care about the current > > -- * amount of entropy. */ > > -- have_syscall = true; > > -- else > > -- return -errno; > > -- } else > > -- /* too short read? */ > > -- return -ENODATA; > > -+ static bool have_getrandom = true, have_grndinsecure = true; > > -+ _cleanup_close_ int fd = -EBADF; > > -+ > > -+ if (n == 0) > > -+ return 0; > > -+ > > -+ for (;;) { > > -+ ssize_t l; > > -+ > > -+ if (!have_getrandom) > > -+ break; > > -+ > > -+ l = getrandom(p, n, have_grndinsecure ? GRND_INSECURE : GRND_NONBLOCK); > > -+ if (l > 0) { > > -+ if ((size_t) l == n) > > -+ return 0; /* Done reading, success. */ > > -+ p = (uint8_t *) p + l; > > -+ n -= l; > > -+ continue; /* Interrupted by a signal; keep going. */ > > -+ } else if (l == 0) > > -+ break; /* Weird, so fallback to /dev/urandom. */ > > -+ else if (errno == ENOSYS) { > > -+ have_getrandom = false; > > -+ break; /* No syscall, so fallback to /dev/urandom. */ > > -+ } else if (errno == EINVAL && have_grndinsecure) { > > -+ have_grndinsecure = false; > > -+ continue; /* No GRND_INSECURE; fallback to GRND_NONBLOCK. */ > > -+ } else if (errno == EAGAIN && !have_grndinsecure) > > -+ break; /* Will block, but no GRND_INSECURE, so fallback to /dev/urandom. */ > > -+ > > -+ break; /* Unexpected, so just give up and fallback to /dev/urandom. */ > > - } > > - > > - fd = open("/dev/urandom", O_RDONLY|O_CLOEXEC|O_NOCTTY); > > diff --git a/meta/recipes-core/udev/eudev/netifnames.patch b/meta/recipes-core/udev/eudev/netifnames.patch > > deleted file mode 100644 > > index 4f8e54d12d4a..000000000000 > > --- a/meta/recipes-core/udev/eudev/netifnames.patch > > +++ /dev/null > > @@ -1,17 +0,0 @@ > > -eudev: consider ID_NET_NAME_MAC as an interface name > > - > > -eudev might not create names based on slot or path. > > - > > -Upstream-Status: Backport [github.com/eudev-project/eudev/pull/274] > > - > > -Signed-off-by: Joe Slater <joe.slater@windriver.com> > > - > > ---- a/rules/80-net-name-slot.rules > > -+++ b/rules/80-net-name-slot.rules > > -@@ -10,5 +10,6 @@ ENV{net.ifnames}=="0", GOTO="net_name_sl > > - NAME=="", ENV{ID_NET_NAME_ONBOARD}!="", NAME="$env{ID_NET_NAME_ONBOARD}" > > - NAME=="", ENV{ID_NET_NAME_SLOT}!="", NAME="$env{ID_NET_NAME_SLOT}" > > - NAME=="", ENV{ID_NET_NAME_PATH}!="", NAME="$env{ID_NET_NAME_PATH}" > > -+NAME=="", ENV{ID_NET_NAME_MAC}!="", NAME="$env{ID_NET_NAME_MAC}" > > - > > - LABEL="net_name_slot_end" > > diff --git a/meta/recipes-core/udev/eudev_3.2.14.bb b/meta/recipes-core/udev/eudev_3.2.15.bb > > similarity index 93% > > rename from meta/recipes-core/udev/eudev_3.2.14.bb > > rename to meta/recipes-core/udev/eudev_3.2.15.bb > > index 3e4972694ac0..2ff2370bcb5e 100644 > > --- a/meta/recipes-core/udev/eudev_3.2.14.bb > > +++ b/meta/recipes-core/udev/eudev_3.2.15.bb > > @@ -10,13 +10,11 @@ DEPENDS = "gperf-native" > > PROVIDES = "udev" > > > > SRC_URI = "${GITHUB_BASE_URI}/download/v${PV}/${BP}.tar.gz \ > > - file://netifnames.patch \ > > file://init \ > > file://local.rules \ > > - file://0001-random-util.c-sync-dev_urandom-implementation-to-sys.patch \ > > " > > > > -SRC_URI[sha256sum] = "8da4319102f24abbf7fff5ce9c416af848df163b29590e666d334cc1927f006f" > > +SRC_URI[sha256sum] = "eb69809fc0d1187f2463ab2149c53aa9f42a78e59f14ebea68eae6cb6b4fc1c3" > > > > GITHUB_BASE_URI = "https://github.com/eudev-project/eudev/releases" > > > > > > > -- > Mathieu Dubois-Briand, Bootlin > Embedded Linux and Kernel engineering > https://bootlin.com > -- Alex Kiernan ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2026-10-16 12:16 UTC | newest] Thread overview: 5+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2026-10-15 13:08 [PATCH 0/2] eudev: upgrade 3.2.14 -> 3.2.15 Alex Kiernan 2026-10-15 13:08 ` [PATCH 1/2] base-passwd: add the render group for eudev-3.2.15 Alex Kiernan 2026-10-15 13:08 ` [PATCH 2/2] eudev: upgrade 3.2.14 -> 3.2.15 Alex Kiernan 2026-10-16 8:18 ` [OE-core] " Mathieu Dubois-Briand 2026-10-16 12:16 ` Alex Kiernan
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox