diff mbox series

[pseudo] makewrappers/openat2: Add noignore_path option

Message ID 20260720-openat2-v1-1-e5f582efeba8@pbarker.dev
State New
Headers show
Series [pseudo] makewrappers/openat2: Add noignore_path option | expand

Commit Message

Paul Barker July 20, 2026, 10:23 a.m. UTC
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 <paul@pbarker.dev>
---
 ports/linux/openat2/wrapfuncs.in | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)


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

Best regards,
--  
Paul Barker
diff mbox series

Patch

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 */