linux/rust/helpers/poll.c
Alice Ryhl de747bd023
poll: rust: allow poll_table ptrs to be null
It's possible for a poll_table to be null. This can happen if an
end-user just wants to know if a resource has events right now without
registering a waiter for when events become available. Furthermore,
these null pointers should be handled transparently by the API, so we
should not change `from_ptr` to return an `Option`. Thus, change
`PollTable` to wrap a raw pointer rather than use a reference so that
you can pass null.

Comments mentioning `struct poll_table` are changed to just `poll_table`
since `poll_table` is a typedef. (It's a typedef because it's supposed
to be opaque.)

Reviewed-by: Benno Lossin <lossin@kernel.org>
Signed-off-by: Alice Ryhl <aliceryhl@google.com>
2025-07-14 14:12:24 +02:00

10 lines
227 B
C

// SPDX-License-Identifier: GPL-2.0
#include <linux/export.h>
#include <linux/poll.h>
void rust_helper_poll_wait(struct file *filp, wait_queue_head_t *wait_address,
poll_table *p)
{
poll_wait(filp, wait_address, p);
}