Repository navigation
Update libglnx to fix EAGAIN from openat2 - #6787
Merged
Merged
Conversation
swick
commented
Aug 18, 2026
Collaborator
From openat2(2):
EAGAIN how.resolve contains either RESOLVE_IN_ROOT or
RESOLVE_BENEATH, and the kernel could not ensure that a
".." component didn't escape (due to a race condition or
potential attack). The caller may choose to retry the
openat2() call.
We should handle this by simply retrying the syscall.
chase: Handle EAGAIN from openat2 See merge request GNOME/libglnx!79
This allows it to work on O_PATH file descriptors, which is needed for operating on symlinks.
This allows it to work on O_PATH file descriptors, which is needed for operating on symlinks.
All callers now go through /proc/self/fd paths, so the flistxattr, fgetxattr branches and the fd parameter are dead code.
After creating the symlink, open it with O_PATH to pin the inode and verify the target matches. All subsequent operations (xattrs, chown) go through the pinned fd instead of path-based operations.
glnx_file_copy_at: Use O_PATH fd for xattr and ownership operations See merge request GNOME/libglnx!78
* glnx_file_copy_at: Use O_PATH fd for xattr and ownership operations * xattrs: Drop fd-based code paths from get_xattrs_impl * xattrs: Use /proc/self/fd path in glnx_fd_set_all_xattrs * xattrs: Use /proc/self/fd path in glnx_fd_get_all_xattrs * chase: Handle EAGAIN from openat2 The EAGAIN handling in openat2 fixes a bug which would prevent extensions from being populated in the sandbox: Closes: flatpak#6783 Signed-off-by: Sebastian Wick <[email protected]>
smcv
approved these changes
Aug 19, 2026
Collaborator
Author
|
Fun, github has dropped fd0df8d. |
Collaborator
|
Did the merge queue do a rebase? |
Collaborator
Author
|
I am very much not sure what it did. A rebase would not have changed the order of the subtree commits, but it seems to have done that as well. |
Collaborator
Author
|
At this point I'm annoyed enough to just convert the libglnx subtree to a meson wrap like I did with portals. |
Merged
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.