[PATCH 21/24] rust: sync: Use safe synchronize_rcu() abstraction in poll
Boqun Feng <[email protected]> Fri, 31 Jul 2026 13:30:22 -0700
| Newsgroups | org.kernel.vger.rust-for-linux,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
From: Philipp Stanner <[email protected]> We now have a safe wrapper for the foreign function synchronize_rcu(). Use it in poll.rs. Signed-off-by: Philipp Stanner <[email protected]> Reviewed-by: Alice Ryhl <[email protected]> Reviewed-by: Onur Özkan <[email protected]> Reviewed-by: Danilo Krummrich <[email protected]> Reviewed-by: Gary Guo <[email protected]> Signed-off-by: Boqun Feng <[email protected]> Link: https://patch.msgid.link/[email protected] --- rust/kernel/sync/poll.rs | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/rust/kernel/sync/poll.rs b/rust/kernel/sync/poll.rs index 0ec985d560c8..5aa0ce9ba01b 100644 --- a/rust/kernel/sync/poll.rs +++ b/rust/kernel/sync/poll.rs @@ -8,7 +8,11 @@ bindings, fs::File, prelude::*, - sync::{CondVar, LockClassKey}, + sync::{ + rcu::synchronize_rcu, + CondVar, + LockClassKey, // + }, // }; use core::{marker::PhantomData, ops::Deref}; @@ -99,8 +103,6 @@ fn drop(self: Pin<&mut Self>) { unsafe { bindings::__wake_up_pollfree(self.inner.wait_queue_head.get()) }; // Wait for epoll items to be properly removed. - // - // SAFETY: Just an FFI call. - unsafe { bindings::synchronize_rcu() }; + synchronize_rcu(); } } -- 2.50.1 (Apple Git-155)