New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
The acpi crate unmaps mappings that contain other mappings #79
Comments
Huh, turns out Rust's drop order when replacing a field is different to what I expected. Basically, to fix this we'll need to make sure to drop the old mapping before we make the new one here, and also probably deal with the fact that this same problem will also trip this up. I'm not sure when I'll have time to work on a fix for this, so anyone is free to take this, or I'll get around to it when I have a chance in the next week or so. |
Thanks for the quick response, I've also found out that reverse happens already mapped regions are mapped again |
I've published |
Sorry for the late reply, I tried to patch the rsdp crate but i couldn't because |
Ah my bad, I thought you'd be able to override that. I've published |
Just tested and it looks like it's working correctly |
Great, thanks for testing. Published as |
The
acpi
crate while callingsearch_for_rsdp_bios
will map0xF5000
with a size of0x1000
and then map0xF5B20
with a size of0x24
and immediately after unmap the first mapping causing the second mapping to be invalid and cause a page fault while readingThe text was updated successfully, but these errors were encountered: