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.
Before this commit, he header of a mapped area,
struct map
, was defined as follows:Because the size and alignment of an
off_t
is 8 bytes, the entire structure was padded to 24 bytes. However, the offset ofbody
intostruct map
was only 20 bytes. Therefore the code in mmap() and munmap() did not agree on the offset from header to body.This commit changes mmap() to skip the entire header, which is what munmap() expects and what the size calculation uses.
For the curious, the code in
mmap()
that calculates the offset looks like:and the code in
munmap()
that cancels it out for freeing looks like: