x86: fix overlapping of kernel addresses with vsyscall page #2023
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.
In the x86_64 architecture, the KERNEL_LIMIT constant is currently set to 0xfffffffffffff000; if the KASLR process places the kernel near the end of the allowed address range, kernel addresses may overlap with the vsyscall page, which always starts at a fixed address (0xffffffffff600000); this may cause boot failures such as in https://app.circleci.com/pipelines/github/nanovms/nanos/4631/workflows/1400a162-d5c4-478d-8cc8-bdf84ab2536a/jobs/16261.
This change fixes the above issue by changing the KERNEL_LIMIT constant to coincide with the start of the vsyscall page.