Re: [PATCH] poll: rust: allow poll_table ptrs to be null

From: Benno Lossin
Date: Fri Jun 20 2025 - 08:31:55 EST


On Fri Jun 20, 2025 at 1:49 PM CEST, Alice Ryhl wrote:
> ///
> /// # Safety
> ///
> - /// The caller must ensure that for the duration of `'a`, the pointer will point at a valid poll
> - /// table (as defined in the type invariants).
> - ///
> - /// The caller must also ensure that the `poll_table` is only accessed via the returned
> - /// reference for the duration of `'a`.
> - pub unsafe fn from_ptr<'a>(ptr: *mut bindings::poll_table) -> &'a mut PollTable {

Returning `Option<&'a mut PollTable>` is not an option? I'd like to
avoid wrapping raw pointers...

---
Cheers,
Benno

> - // SAFETY: The safety requirements guarantee the validity of the dereference, while the
> - // `PollTable` type being transparent makes the cast ok.
> - unsafe { &mut *ptr.cast() }
> - }