stat,seccomp: fix 32-bit overflow on stat quantities #98
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.
On most i686 distributions, glibc implements stat() for programs compiled
without -D_FILE_OFFSET_BITS=64 by calling the corresponding stat64 system
call, and if any of the 64-bit quantities in the statbuf are larger than
2^32-1, the glibc wrapper pretends the file does not exist by returning
ENOENT.
This flag mitigates the issue by pulling the rug under glibc and rewriting
the quantities to stay within bounds. For timestamps, a fixed date within
range is used. For inode numbers, the value is rewritten in a way that
keeps the (device, inode) pair unique.