[D] Physical memory read for any memory attribute #4
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.
This pull request introduces significant refactoring and new functionality to the kernel module, focusing on improved code organization, new DMA buffer support, and enhanced build configuration. The most notable changes include restructuring source files into themed directories, adding DMA buffer creation and export support, updating build flags and the Makefile for better modularity, and improving ARM64 inline hooking logic.
Codebase restructuring and build improvements:
src/core,src/net,src/mm, etc.), updated the Makefile to use the new structure, and added more granular include paths and build flags such asBUILD_NO_CFI.masteranddevbranches in the CI workflow.DMA buffer (dma-buf) support:
src/mm/wuwa_dmabuf.candsrc/mm/wuwa_dmabuf.h. This enables zero-copy memory sharing using file descriptors, with proper resource management and user-space mapping. [1] [2]uintptr_tfor physical addresses, improving portability and correctness for DMA operations. [1] [2] [3]ARM64 inline hook enhancements:
src/inlinehook/hijack_arm64.candsrc/inlinehook/hijack_arm64.h, adding instruction validation to ensure only safe instructions are hijacked and defining constants for hijack size and offsets. [1] [2]hijack_arm64.cimplementation, consolidating functionality in the new location.Feature flags and initialization:
BUILD_NO_CFIis enabled.Documentation:
README.mdwith a link to a kernel driver development kit and improved group join instructions.