[PATCH pseudo] makewrappers/openat2: Add noignore_path option

Paul Barker <[email protected]> Mon, 20 Jul 2026 11:23:06 +0100
Newsgroups org.yoctoproject.lists.yocto-patches
Message-ID <[email protected]>
We must always record the path given to an openat2() call, even if it is
ignored. If not, we may later see another openat2() call where dirfd
refers to an unknown directory, which leads to failures like the
following (seen in do_package_write_ipk as the ipk deploy directory is
ignored by pseudo):

    got *at() syscall for unknown directory, fd 4
    unknown base path for fd 4, path python3-sphinxcontrib-devhelp_2.0.0-r0_x86-64-v3.ipk
    couldn't allocate absolute path for 'python3-sphinxcontrib-devhelp_2.0.0-r0_x86-64-v3.ipk'.
    tar: ./x86-64-v3/python3-sphinxcontrib-devhelp_2.0.0-r0_x86-64-v3.ipk: Cannot open: Bad address
    tar: Exiting with failure status due to previous errors

This brings the openat2() wrapper in line with the other open*()
wrappers defined in ports/linux/wrapfuncs.in.

[YOCTO #16316]

Signed-off-by: Paul Barker <[email protected]>
---
 ports/linux/openat2/wrapfuncs.in | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/ports/linux/openat2/wrapfuncs.in b/ports/linux/openat2/wrapfuncs.in
index 29956464a54d..de1b7dc50b76 100644
--- a/ports/linux/openat2/wrapfuncs.in
+++ b/ports/linux/openat2/wrapfuncs.in
@@ -1 +1 @@
-int openat2(int dirfd, const char *path, const struct open_how *how, size_t size); /* preserve_paths=1 */
+int openat2(int dirfd, const char *path, const struct open_how *how, size_t size); /* preserve_paths=1, noignore_path=1 */

---
base-commit: 823895ba708c63f6ae4dcbfc266210f26c02c698
change-id: 20260720-openat2-2a783830dde7

Best regards,
--  
Paul Barker