forked from firecracker-microvm/firecracker
-
Notifications
You must be signed in to change notification settings - Fork 3
[v1.14] Expose memory mapping & dirty pages; Make memfile dump optional #8
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
Draft
bchalios
wants to merge
54
commits into
firecracker-v1.14
Choose a base branch
from
firecracker-v1.14-direct-mem
base: firecracker-v1.14
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
Changes from all commits
Commits
Show all changes
54 commits
Select commit
Hold shift + click to select a range
5585532
fix: open files with `read` modifier
ShadowCurse 51c8692
cleanup: remove redundant std::result::Result imports
ShadowCurse 3a12ebf
changelog: add note about FIFO fix
ShadowCurse 07fd784
vmm: memory.rs: Do not panic in dump_dirty()
ilstam 881e4b8
tests: memory.rs: Improve documentation in test_dump_dirty()
ilstam 0b8725e
vmm: memory.rs: Fail dump_dirty() when bitmap size is wrong
ilstam 5156f7d
fix(diff-snapshot): Advance file cursor when trailing pages are clean
ilstam beba51f
tests: memory.rs: Extend test_dump_dirty() with trailing clean case
ilstam 70ecd2a
tests: integration: Make test_diff_snapshot_overlay test multi-slot VMs
ilstam cdbcdd6
CHANGELOG: 1.14.2: Mention diff snapshot memory corruption bugfix
ilstam ba56cd2
devtool: move ensure_kvm into devtool
ShadowCurse 18d533e
devtool: more robust logic for tweaking kvm module
ShadowCurse 26b4c55
chore: release v1.14.2
Manciukic b115e08
chore(deps): bump aws-lc-rs
JackThomson2 d57d169
fix(mmds): validate tcp opt len
JackThomson2 8e72c3d
test(mmds): assert opt length validation
JackThomson2 2471ae0
chore(changelog): add MMDS tcp option length entry
JackThomson2 9154cfe
chore: release v1.14.3
JackThomson2 8a00171
fix(entropy): cap per-request entropy allocation to 64 KiB
kalyazin 2e1a4c0
chore: Update aws-lc-rs 1.16.2
zulinx86 253140c
fix(tests/spectre-meltdown-checker): pin due to bugs in tip
Manciukic f47fb0f
refactor(pci): Move device status constants to pci/mod.rs
zulinx86 baa7c26
chore(pci): Remove redundant FAILED check in is_driver_ready()
zulinx86 931e6a9
refactor(pci): Replace raw hex offsets with named constants
zulinx86 7b51f81
fix(pci): Check device status before virtqueue config writes
zulinx86 5f791c1
test: Use queue_select instead of device_status for PCI config cap test
zulinx86 4242cb5
fix(pci): Enforce device status state machine
zulinx86 5d9bf8b
fix(mmio): Reject missing cumulative bits in device status
zulinx86 e5bb827
test(pci): Add realistic guest-side test for queue config immutability
zulinx86 5c8b847
test(mmio): Add unit test for queue config immutability
zulinx86 608d9dd
fix(pci): Block device re-initialization after unsupported reset
zulinx86 92e61fa
fix(pci): Set DEVICE_NEEDS_RESET on activation failure
zulinx86 1152982
fix(pci): Check device status for feature negotiation
zulinx86 a213b3d
docs: Add CHANGELOG entries for virtio transport fixes
zulinx86 1dd26ef
fix(aarch64): override fabricated CLIDR_EL1 to match host cache topology
kalyazin 4acbb53
fix(virtio-mem): interval intersection in slots_intersecting_range
kalyazin fd18613
fix(balloon): bound stats descriptor length
kalyazin 4e860cb
fix(balloon): make duplicate stats buffer visible to guest
kalyazin cc4bef8
fix(kvm-clock): do not jump monotonic clock on restore
Manciukic ce5ef6c
doc: fix line in design about only kvm-clock being available
Manciukic 97e1199
chore: release v1.14.4
Manciukic 567170a
chore: Fill placefolder for PR number of virtio PCI transport fix
zulinx86 cd35b5a
swagger: add APIs for getting guest memory info
bchalios 2035236
snapshot: make memory path optional in snapshot creation
bchalios 160c3af
api: implement API for getting guest memory mappings
bchalios cd3fe9a
api: implement API for resident and zero memory
bchalios 92eacbd
api: implement API for dirty memory
bchalios e9febb1
feat: enable write-protection on guest memory
bchalios fff6fd9
ci: remove dependency changes test
bchalios a284adf
feat: make network device snapshots backwards compatible
bchalios 7a2ef60
snapshot: add state types for previous versions
bchalios ee3f6fa
feat: allow loading older snapshots
bchalios 458ca91
fix: compilation in aarch64
bchalios 9b2c7b5
feat(memfd): allow using memfd to back guest memory
bchalios File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file was deleted.
Oops, something went wrong.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -5,8 +5,7 @@ allow = [ | |
| "Apache-2.0", | ||
| "BSD-3-Clause", | ||
| "ISC", | ||
| "Unicode-3.0", | ||
| "OpenSSL" | ||
| "Unicode-3.0" | ||
| ] | ||
|
|
||
| [[bans.deny]] | ||
|
|
||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Missing pread64 syscall in aarch64 seccomp filter
High Severity
The
pread64syscall is added to the x86_64 seccomp filter but not to the aarch64 one. The new memory info features uselibc::preadinpagemap.rswhich runs on both architectures. Calling the/memory/dirtyor/memoryendpoints on aarch64 will trigger a seccomp violation and crash the VMM.Reviewed by Cursor Bugbot for commit 81d5796. Configure here.