[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20230720152820.3566078-1-aliceryhl@google.com>
Date: Thu, 20 Jul 2023 15:28:15 +0000
From: Alice Ryhl <aliceryhl@...gle.com>
To: rust-for-linux@...r.kernel.org, linux-fsdevel@...r.kernel.org,
Miguel Ojeda <ojeda@...nel.org>,
Alexander Viro <viro@...iv.linux.org.uk>,
Christian Brauner <brauner@...nel.org>
Cc: Wedson Almeida Filho <wedsonaf@...il.com>,
Alex Gaynor <alex.gaynor@...il.com>,
Boqun Feng <boqun.feng@...il.com>, Gary Guo <gary@...yguo.net>,
"Björn Roy Baron" <bjorn3_gh@...tonmail.com>,
Benno Lossin <benno.lossin@...ton.me>,
Alice Ryhl <aliceryhl@...gle.com>,
linux-kernel@...r.kernel.org, patches@...ts.linux.dev
Subject: [RFC PATCH v1 0/5] Various Rust bindings for files
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
Powered by blists - more mailing lists