From 051007f02197165c795e372c8732437f7166840e Mon Sep 17 00:00:00 2001 From: Upgrade Helper Date: Tue, 30 Jun 2026 05:48:53 +0000 Subject: [PATCH] acl: upgrade 2.3.2 -> 2.4.0 --- ...t_uid-fix-memory-wasting-loop-if-use.patch | 49 ------------------- ...isc.test-Don-t-mix-stdout-and-stderr.patch | 35 ------------- .../attr/{acl_2.3.2.bb => acl_2.4.0.bb} | 4 +- 3 files changed, 1 insertion(+), 87 deletions(-) delete mode 100644 meta/recipes-support/attr/acl/0001-libmisc-__acl_get_uid-fix-memory-wasting-loop-if-use.patch delete mode 100644 meta/recipes-support/attr/acl/0001-test-misc.test-Don-t-mix-stdout-and-stderr.patch rename meta/recipes-support/attr/{acl_2.3.2.bb => acl_2.4.0.bb} (90%) diff --git a/meta/recipes-support/attr/acl/0001-libmisc-__acl_get_uid-fix-memory-wasting-loop-if-use.patch b/meta/recipes-support/attr/acl/0001-libmisc-__acl_get_uid-fix-memory-wasting-loop-if-use.patch deleted file mode 100644 index 5052bdaa2f..0000000000 --- a/meta/recipes-support/attr/acl/0001-libmisc-__acl_get_uid-fix-memory-wasting-loop-if-use.patch +++ /dev/null @@ -1,49 +0,0 @@ -From 56abe432b65801f31277fb9a3bca0f9e31502315 Mon Sep 17 00:00:00 2001 -From: Matthias Gerstner -Date: Thu, 25 Apr 2024 12:43:49 +0200 -Subject: [PATCH] libmisc: __acl_get_uid(): fix memory wasting loop if user - does not exist - -I noticed that `acl_from_text()` unexpectedly returns ENOMEM for invalid -user names. The reason for this is a missing break statement in the for -loop in `__acl_get_uid()`, which causes the loop to act as if ERANGE was -returned from `getpwnam_r()`, thereby exponentially increasing the -buffer size to (in my case) multiple gigabytes, until `grow_buffer()` -reports ENOMEM, which terminates the `__acl_get_uid()` function. - -This is a pretty costly "no such user" lookup that can disturb a -process's heap memory management, but can also cause a process to fail -e.g. if it is multithreaded and other threads encounter an ENOMEM, -before `__acl_get_uid()` frees the gigantic heap buffer and returns. -The allocated memory isn't actually used. Therefore on Linux it should -not affect other processes by default, due to its overcommit memory -and lazy memory allocation strategy. - -Fix this by properly terminating the for loop on any conditions except -an ERANGE error being reported. The same break statement correctly -exists in `__acl_get_gid()` already. - -Fixes: 3737f00 ("use thread-safe getpwnam_r and getgrnam_r") -Signed-off-by: Andreas Gruenbacher - -Upstream-Status: Backport -Signed-off-by: Ross Burton ---- - libmisc/uid_gid_lookup.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/libmisc/uid_gid_lookup.c b/libmisc/uid_gid_lookup.c -index a4f21f6..74baab4 100644 ---- a/libmisc/uid_gid_lookup.c -+++ b/libmisc/uid_gid_lookup.c -@@ -91,6 +91,7 @@ __acl_get_uid(const char *token, uid_t *uid_p) - if (err == ERANGE) - continue; - errno = err ? err : EINVAL; -+ break; - } - free(buffer); - return result ? 0 : -1; --- -2.43.0 - diff --git a/meta/recipes-support/attr/acl/0001-test-misc.test-Don-t-mix-stdout-and-stderr.patch b/meta/recipes-support/attr/acl/0001-test-misc.test-Don-t-mix-stdout-and-stderr.patch deleted file mode 100644 index 5aa3f3224c..0000000000 --- a/meta/recipes-support/attr/acl/0001-test-misc.test-Don-t-mix-stdout-and-stderr.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 47f8039ec9bd08b629775c8e788d11e41fa95f14 Mon Sep 17 00:00:00 2001 -From: Andreas Gruenbacher -Date: Mon, 24 Mar 2025 21:14:09 +0100 -Subject: [PATCH] test/misc.test: Don't mix stdout and stderr - -In different environments, we may not get the stdout and stderr output -in the order the run script expects, so check both separately. - -Fixes: https://savannah.nongnu.org/bugs/?66944 -Signed-off-by: Andreas Gruenbacher - -Upstream-Status: Backport -Signed-off-by: Ross Burton ---- - test/misc.test | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/test/misc.test b/test/misc.test -index 06b3136..57c02e5 100644 ---- a/test/misc.test -+++ b/test/misc.test -@@ -440,8 +440,9 @@ Dangling symlink test https://savannah.nongnu.org/bugs/?28131 - > other::r-x - > - $ setfacl -R -m u:bin:rw d -- $ getfacl -RL d -+ $ getfacl -RL d > /dev/null - > getfacl: d/b: No such file or directory -+ $ getfacl -RL d 2> /dev/null - > # file: d - > # owner: %TUSER - > # group: %TGROUP --- -2.43.0 - diff --git a/meta/recipes-support/attr/acl_2.3.2.bb b/meta/recipes-support/attr/acl_2.4.0.bb similarity index 90% rename from meta/recipes-support/attr/acl_2.3.2.bb rename to meta/recipes-support/attr/acl_2.4.0.bb index a405cc2692..ef9ee492a0 100644 --- a/meta/recipes-support/attr/acl_2.3.2.bb +++ b/meta/recipes-support/attr/acl_2.4.0.bb @@ -16,11 +16,9 @@ LIC_FILES_CHKSUM = "file://doc/COPYING;md5=c781d70ed2b4d48995b790403217a249 \ DEPENDS = "attr" SRC_URI = "${SAVANNAH_GNU_MIRROR}/acl/${BP}.tar.gz \ - file://0001-libmisc-__acl_get_uid-fix-memory-wasting-loop-if-use.patch \ - file://0001-test-misc.test-Don-t-mix-stdout-and-stderr.patch \ file://run-ptest \ " -SRC_URI[sha256sum] = "5f2bdbad629707aa7d85c623f994aa8a1d2dec55a73de5205bac0bf6058a2f7c" +SRC_URI[sha256sum] = "73c853c3d44e1f693e5a96a986f1bd19d3d0dac2c7d453e796177774bc4e5f6a" inherit autotools gettext ptest -- 2.47.1