Skip to content

Finish page allocator verification#119

Merged
wojciechozga merged 1 commit intoIBM:mainfrom
lgaeher:lennard/verification
Mar 26, 2026
Merged

Finish page allocator verification#119
wojciechozga merged 1 commit intoIBM:mainfrom
lgaeher:lennard/verification

Conversation

@lgaeher
Copy link
Collaborator

@lgaeher lgaeher commented Mar 25, 2026

Description of the changes

This finishes the page allocator verification using RefinedRust.

I made some minor changes in the implementation in the process.
In Page::merge, I rearranged the assertion checks a bit, as this made the verification easier.
In ConfidentialMemoryAddress::add (and NonConfidentialMemoryAddress::add), I added a new check to ensure that the upper bound stays within the respective memory range. (If we don't want to actually check that at runtime, I can also remove this again and make it a precondition of the function. Then we should make those functions unsafe, however.)

This also bumps the RefinedRust version, and therefore bumps to a current nightly version of Rust.

Type of change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • [ x ] Formal verification
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Refactorization (non-breaking change which improves code quality)

How to test this PR?

CI should pass.

@lgaeher lgaeher force-pushed the lennard/verification branch from 79969d6 to 8681f11 Compare March 25, 2026 07:41
@wojciechozga wojciechozga self-assigned this Mar 25, 2026
Signed-off-by: Lennard Gäher <l.gaeher@posteo.de>
@lgaeher lgaeher force-pushed the lennard/verification branch from 4e67671 to cafe775 Compare March 26, 2026 12:41
@wojciechozga
Copy link
Member

Thank you for this effort, it is a big milestone.

@wojciechozga wojciechozga merged commit b64f6c8 into IBM:main Mar 26, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants