Messages in this thread | | | Date | Thu, 20 Jul 2023 15:28:15 +0000 | Subject | [RFC PATCH v1 0/5] Various Rust bindings for files | From | Alice Ryhl <> |
| |
This contains bindings for various file related things that binder needs to use.
I would especially like feedback on the SAFETY comments. Particularly, the safety comments in patch 4 and 5 are non-trivial. For example:
* In patch 4, I claim that passing POLLHUP|POLLFREE to __wake_up is enough to ensure that we can now destroy the wait_list without risking any use-after-frees, even if we have registered it with epoll. Is that correct?
* In patch 5, I implement a utility for closing fds that might be held using `fdget`. This is rather non-trivial, and I would be happy to hear suggestions about alternate solutions.
This patch is based on top of https://lore.kernel.org/all/20230426204923.16195-1-amiculas@cisco.com/ which is currently the top commit on rust-next.
Alice Ryhl (2): rust: file: add bindings for `poll_table` rust: file: add `DeferredFdCloser`
Wedson Almeida Filho (3): rust: file: add bindings for `struct file` rust: cred: add Rust bindings for `struct cred` rust: file: add `FileDescriptorReservation`
rust/bindings/bindings_helper.h | 8 + rust/bindings/lib.rs | 1 + rust/helpers.c | 36 ++++ rust/kernel/cred.rs | 66 +++++++ rust/kernel/file.rs | 331 ++++++++++++++++++++++++++++++++ rust/kernel/file/poll_table.rs | 93 +++++++++ rust/kernel/lib.rs | 2 + rust/kernel/sync/condvar.rs | 2 +- 8 files changed, 538 insertions(+), 1 deletion(-) create mode 100644 rust/kernel/cred.rs create mode 100644 rust/kernel/file.rs create mode 100644 rust/kernel/file/poll_table.rs
base-commit: 341faf2b45ba266d52c1ca886c4ffca52d666786 -- 2.41.0.255.g8b1d071c50-goog
| |