Skip to content
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

cleaner kernel-user exchange area manipulation #102

Draft
wants to merge 6 commits into
base: main
Choose a base branch
from

Conversation

pthierry-ledger
Copy link
Member

@pthierry-ledger pthierry-ledger commented Dec 12, 2024

Based on crate-local trait implementation for uapi types only.
Allows to properly define which (UAPI) type can be emited to or received from the kernel.
Make the exchange area interaction fully opaque

  • cleaning exchange and define trait for systypes
  • make exchange module private to the uapi crate
  • validate C usage of the ffi_c copy_from_user/copy_to_user interface with autotest
  • validate behavior in full rust mode with complete tests
  • update uapi documentation accordingly

Note: to be rebased as soon as PR #101 is merged
Note2: the ffi_c is invalid by now, as the src_ptr, length is not properly manipulated. We may copy to a string and implement the trait for the String type in order to allow C-based *u8 data copy

@pthierry-ledger pthierry-ledger added api impact the external API of the component enhancement request for code evolution lang:rust Pull requests that update Rust code labels Dec 12, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
api impact the external API of the component enhancement request for code evolution lang:rust Pull requests that update Rust code
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant